home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The C Users' Group Library 1994 August
/
wc-cdrom-cusersgrouplibrary-1994-08.iso
/
vol_100
/
133_01
/
newfor48
< prev
next >
Wrap
Text File
|
1985-03-10
|
5KB
|
86 lines
NEW THINGS AND BUG FIXES IN 'e' Version 4.8
The following itemises the significant changes between versions 4.6a and
version 4.8a of the screen editor, 'e'. Thanks to those who pointed out the
bugs.
1. The major additional feature is an 'undo' key. Version 4.6a had an 'oops'
key which restore the current line to its initial state if the key was
pressed before you moved off that line. Version 4.7c provides a much more
powerful facility.
Every time a line is changed, 'e' keeps a record of the change. Pressing the
'undo' key (by default ^\) will undo the last change made. A rolling stack
of the 40 last changes made is kept, so that you can always undo up to the
last forty line changes by pressing the undo key as many times as required.
A line change is made (and stored in the undo history stack) every time you
insert, delete, or amend a line. Thus a block delete of ten lines will
involve 10 line changes being stored on the stack. All line changing
commands go on the stack, so that you can undo all the block commands and
even undo the effect of reading in a file (but remember that only the last
40 lines read in can be undone).
If you try to undo more commands than remain on the history stack, the error
message 'Nothing to undo' will appear.
2. A new feature makes it easier to avoid mistakes in matching brackets when
writing programs. Whenever you enter a closing bracket ( a ')', ']' or '}'),
the cursor points briefly at the corresponding opening bracket, if it is
displayed on the screen. Note that the 'hint' that this gives will be
confused by unpaired brackets within comments and character strings. This
feature helps when writing programs that involve lots of nested brackets
(it's particularly useful if you ever write programs in LISP, which is full
of brackets). The idea was 'borrowed' from the InterLisp-D structure editor,
Dedit, but it is a boon for programs written in any language.
3. There are new 'Edit Context' options, and a better screen format.
4. The line display routine optimises the use of cursor addressing to
display the screen as fast as possible.
5. Version 4.7 would only work with vanilla CP/M 2.x. The new version should
work with any CP/M of version 2 or later, including version 3 (CP/M Plus).
The clever tricks that catch BDOS errors and avoid a warm boot at the end of
an edit are dependent on the operating system being CP/M 2.2. The editor now
asks the operating system for a version number. If it is not 20 (the version
number of CP/M 2.x), the clever tricks are not used. This means that 'e'
will run on any CP/M or CP/M-like system that supports CP/M 2.x function
calls, although on non-CP/M 2.x systems, you won't benefit from protection
from BDOS errors. CP/M 3.x (CP/M plus) has a BDOS call that catches errors.
If 'e' finds that you are using CP/M 3, it sets the error mode to 'display
and continue editing'.
6. The find and alter commands have an additional option: Ignore case. As
well as ignoring the case of the string to find, 'find' and 'alter' using
this option will also ignore the parity bit (set by some word processors,
such as WordStar, on some characters).
7. The editor now accepts user area numbers in file names, using the
convention 'UU/D:FFFFFFFF.ext', where 'UU/' is a user number (eg 10/), and
allows the default user area to be changed when selecting another file to
edit. The current default user area number is shown in the directory display
if it is not 0.
8. There are additional versions of the 'eterm' terminal configuration file
for the ADDS range of terminals (eadds), for the DEC VT52 (and Visual 50 and
55) terminals (edec52) and for the Kaypro 10 computer (ekay). There are new
functions, terminit() and termfini(), in the terminal configuration files
which allow for terminals which require some initialisation sequence before
'e' starts up, and/or some 'finalisation' sequence just before 'e' ends.
9. There is a new command line option. If you include a line number,
preceded by a dash, on the command line (eg A> e myfile -80), the editor
starts up with that line as the current line. This is useful if your compier
reports an error in your program by source line number.
10. The following bugs have been cured: a. in some circumstances, the screen
did not display properly when scrolling at the end of a file. b. the
algorithm for deleting words was changed to make it behave in a more obvious
way. c. the block scroll command (^OS) worked incorrectly if you changed the
current line immediately after the performing the command. d. updating of
the display when the Horizontal scroll option is on and the cursor is moved
to the left now only occurs when required to keep the cursor on the screen.
G Nigel Gilbert 23 October 1984