home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GEMini Atari
/
GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso
/
files
/
editors
/
elv1beta
/
changes
< prev
next >
Wrap
Text File
|
1993-08-08
|
6KB
|
132 lines
- 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.