home *** CD-ROM | disk | FTP | other *** search
- - The version number has been changed to 1.6.
-
- - The exit code of elvis is now 0 if the file wasn't updated, 1 if it was
- updated, or some other value for errors. This was done because some
- versions of crontab apparently are sensitive to the exit status.
-
- - The :join and shift-J commands are now a little smarter.
-
- - Most UNIX versions of elvis will now allow ":source" scripts to recursively
- invoke other scripts. Also, the script files can be larger.
-
- Why not all versions? The solution uses a lot of stack space. Some systems
- have tiny stacks, so they must continue to use the old code.
-
- - New-style function prototypes are used if __STDC__ or cplusplus is defined.
- The function definitions are still written in the old style, so K&R compilers
- can still compile elvis. A few of the function declarations were changed
- slightly, in order to avoid differences between ANSI and K&R standards.
-
- Also, if __STDC__ is defined then elvis's source code will try to include
- some of the ANSI headers such as <stdlib.h>.
-
- - Two bugs have been fixed in the wrapmargin code.
-
- The first bug caused my ELVIS.EXE MS-DOS executable to go into an infinite
- loop when it tried to do an automatic wrap. This was apparently due to
- a bug in my MSC 5.10 compiler. It went away when I broke up a 4-line
- expression into four 1-line expressions.
-
- The second bug showed up when inserting text in front of some words.
- When the line gre too long, the last word would be moved to the next line,
- even if the cursor hadn't reached the wrapmargin yet.
-
- - Two bugs have been fixed in autoindent mode.
-
- One was a biggie: The code that was supposed to delete trailing whitespace
- from a line was actually deleting text up to the previous end-of-line.
- So if you inserted a newline into the middle of a line, then the tail of
- the line just "went away."
-
- The other was that "i" on an empty line would automatically insert
- whitespace to make its indent match that of the line above. The real vi
- doesn't do that, and elvis 1.6 doesn't either.
-
- - A new compile-time option has been added: -DMAILER=string. This will allow
- you UNIX users to choose a mailer other than "mail", if they wish. On BSD
- systems, you might prefer to use "Mail" to deliver your mail, for example.
- SysV users may prefer "mailx". Since the value of MAILER should be a quoted
- string, you need to be careful about quotes:
-
- -DMAILER=\"mailx\"
-
- - The ctags program didn't work under MS-DOS because it wasn't stripping the
- '\r' character from the end of each line. This has been fixed.
-
- Also, it didn't expand wildcard characters in filenames correctly, either.
- This has also been fixed.
-
- - The :ks=:ke=: termcap strings aren't used anymore. Those strings are
- supposed to be used to put the keypad in "application mode", but it seems
- that editors aren't applications in the eyes of termcap entry writers.
- The :ks=: string was making the arrow keys send goofy codes instead of the
- normal codes defined in :ku=: etc.
-
- So the arrow keys on a vt100 or Xterm are more likely to work now.
-
- - "d}" now works better at the end of the file. Also, this will delete
- characters now, instead of whole lines.
-
- - "dw" while the cursor is on whitespace will now correctly delete one
- character. (It used to delete two characters.)
-
- - With ":set number" turned on, there is no longer a '|' between the line
- number and the text.
-
- - Elvis should now work better on screens with a width that isn't divisible
- by eight. (This bug caused some lines to be drawn indented on some
- terminals.)
-
- - Sometimes, after a long move, the line containing the cursor would not be
- redrawn. This bug has been fixed. I think.
-
- - A bug has been fixed in the regexp code. This bug caused elvis to dump core
- on a command such as ":s/--/[]/g". What was happening was that *part* of
- the regexp parser was failing to stop at the end of the regexp, and was
- processing the replacement text as though it was part of the regexp. This
- would cause elvis to write past the end of the internal struct used to store
- the regexp.
-
- - We generally try to avoid using "#if defined(SYMBOL)", since not all
- preprocessors can handle the defined() function.
-
- - The \ menu wasn't being erased completely under some circumstances when
- the > option was chosen. This has been fixed.
-
- - After something like "d/foo" to delete all text up to the next "foo",
- "." would only automatically repeat the "d/" part of the command. You
- still had to type in "foo" manually. This has been fixed.
-
- - The command "dtA" would delete a character even if no "A" was found.
- This bug has been partially fixed: it doesn't delete anything, but it
- doesn't beep at you either.
-
- - On VMS systems, wildcard expansion no longer includes the version number.
- Earlier versions did include the version number which could cause confusion
- if you edited a file, wrote it out, and then did a ":rew" or something.
-
- - Under AmigaDos 1.3, any files written out by elvis would be marked as
- "resource busy" or something like that. This has been fixed.
-
- - Some minor compatibility fixes were made; elvis should be easier to compile
- now, especially under AmigaDos with the Manx Aztec C compiler.
-
- - If the <Right> arrow key is the same as the <BackSpace> key, then elvis
- will not map it automatically. This was causing some major confusion
- among people who're stuck with ancient terminals.
-
- - A new option has been added: "nearscroll". It is a numeric option, and its
- value is used by elvis when deciding whether an off-screen line is near
- enough that the screen should be scrolled to bring it into view, or far
- enough that the whole screen should be redrawn with the line in the center
- of the screen. It defaults to 15 lines, which is pretty much the way elvis
- has always acted.
-
- - The elvprsv program will now work under MS-DOS. It didn't before, due to
- a bug in the Elvis.mak file and also a because ctype wasn't initialized
- before wildcards were expanded.
-
- If you add "elvprsv c:\tmp\elv*.*" to the end of your AUTOEXEC.BAT file,
- and create a directory called "C:\preserve", then your edit buffers will
- be preserved automatically after a power failure, etc.
-