NetBSD/usr.bin/vi/docs/bugs.current

49 lines
1.9 KiB
Plaintext

List of known bugs:
+ Large numbers of matches (e.g. %, g or v commands), with the
ignorecase option set, triggers a memory corruption bug in the
regex routines.
+ Autoindent doesn't work in the ex editor.
+ ^C isn't passed to the shell in the script windows as an interrupt
character.
+ The command ":ab foo^J bar" prints a usage message -- non-word
characters should be quoted in the underlying terminal engine
so that the upper-level knows they're quoted and doesn't use them
as delimiters. (Note, this isn't historical practice, vi didn't
permit escaping of ^J in this type of command.)
+ The options edcompatible, hardtabs*, lisp*, optimize*, redraw*,
and slowopen* are recognized, but not implemented. Options with
an asterisk are unlikely to ever be implemented, so if you want
them you might want to say something! I will implement lisp if
anyone ever documents how it really worked.
+ Screen repainting over slow lines, for some screen changes, is not
as good as the historic vi's.
+ If an error results during input in ex, it is not displayed until
after input mode is exited.
+ If the ex append command is used from vi, the input command buffer
is overwritten by the ex_append function, causing random errors.
+ Colon commands longer than a single line cause the display to be
incorrect.
+ When switching files in a small screen (O_WINDOW) with :e, the status
message isn't displayed.
+ The usages of S_{REDRAW,REFORMAT,REFRESH,RENUMBER,RESIZE} are
inconsistent, and should be reviewed. In particular, S_REFRESH
in any screen redraws all screens.
+ Historic vi permitted :g/xxx/vi, i.e. you could execute ex/vi as
global commands. Need to review all of the old commands to verify
which ones could/could not be used as global commands.
+ If you run out of space in the recovery directory, the recovery
file is left in place.