home *** CD-ROM | disk | FTP | other *** search
- 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