Update ne to 3.02
Change Log for New E (NE)
Version 3.02 15-May-12
1. The icurrent command did not remove the line number from the line it copied.
2. Cutting and pasting did not always remove line numbers, as it is documented
3. Some additional information has been added to the output from "show
Version 3.01 02-Mar-12
1. There were bugs in the table the controls what commands may be obeyed in
read-only mode. For example, the "readonly" command was not \
allowed, so the
mode could not be turned off. Doh! In addition, the single-character
commands such as # ? etc. were not correctly handled in readonly mode;
neither were bracketed groups nor procedures. Using any of these commands
Version 3.00 23-Feb-11
1. Rather than just fixing an out-by-one bug in eversion.c, I re-designed how
it works. Added the copyright notice to the -help output. Added a lot more
casts for signed/unsigned chars so that it compiles clean with -Wall on today's
compilers (it's been over 5 years since the last release).
2. Renamed configure.in as configure.ac in line with modern practice, and did
some tidying/updating of the configure and make files.
3. Made --help a synonym of -help, and added -v and --version as synonyms of
(the very ancient) -id.
4. Removed the -stream facility, as it seems redundant nowadays.
5. Fixed reference to unset memory in rdargs.c.
6. Removed redundant code for various special (no longer existing) terminal
types, and unused code for the Acorn windowing environment. The only special
terminal type now recognized is xterm. Also removed the unixregexp command,
which used to switch between different regex types, but has been obsolete for
7. In screen mode, test whether an xterm is set to UTF-8, and adjust output
accordingly. UTF-8 sequences are sent for certain characters whose code points
are greater than 127. Characters that do not occupy exactly one cell on an
xterm display are displayed as the substitute character (defaulting to a
question mark). These include zero-width and double-width characters.
Characters with code points greater than 0xFFFF are also substituted.
8. If -w[idechars] is specified, or the "widechars on" command is obeyed,
recognize valid wide UTF-8 characters in the text being edited, without
modifying the text bytes. A top-bit-set byte that is not part of a valid UTF-8
character is treated as a single-byte character. This affects how data lines
are displayed on the screen and in verification output. You can flip between
modes during an editing session.
9. "Show wordcount" was including line-ending characters in its character
count, contrary to its documentation. Of course, previously it was just a byte
count. It now shows both a byte count and a character count in wide character
mode, in both cases excluding line ending characters. Words are now delimited
by either tabs or spaces (previously it was just spaces). The output is now on
10. Added new keyboard escapes for inputting Unicode characters, for example,
ESC A ' for aacute. Also recognize ESC U or ESC u followed by up to 5 hex
digits (short-terminated by a non-hex digit or another ESC). This feature
applies only to input in screen mode because in line-by-line mode the commands
are read using standard C input functions.
11. While implementing 8/9/10, several old bugs/infelicities were found and
(a) In the code for formatting paragraphs, if the begin/end paragraph
settings did not include indented lines, and some lines of a paragraph
were indented less than earlier lines, characters could sometimes get
(b) Characters deleted by keystroke while in overstrike mode did not get
remembered for recall by "undelete".
(c) Some redundant arguments for certain functions were discovered and
removed (they probably related to code for environments no longer
supported which itself has gone).
(d) If a command line from a .nerc file was recovered by the use of the
"up" key in a screen command line, the final newline was still \
and displayed as "?".
12. When running in an xterm, NE now recognizes a left-button mouse click in
the window, and moves the cursor appropriately. It also recognizes twiddling
the wheel in a wheel mouse, and for each twiddle scrolls the screen up or down
by an amount that can be set by "set autovmousescroll" (default 1). \
line is changed only if it would disappear off the screen. The "mouse" \
can be used to turn mouse recognition on and off. Unfortunately, you have to
turn it off if you want to use normal xterm cut-and-paste.
13. NE was maintaining a value in a variable called main_currentlinenumber, but
never actually using it for anything. This must be an historic relic. Removing
it does not seem to have broken anything.
14. When writing a file, NE was not testing for an error on the fclose() call
at the end. Errors can happen here if, for example, the system is buffering the
output and a quota overrun is not detected until fclose().
15. When "show keys" was issued in screen mode, NE was pausing for \
more often than actually necessary if the screen or window was relatively deep.
It now notices the available depth.
16. The subchar command now allows for altering the character that is
substituted on screen for undisplayable characters.
Version 2.01 06-Jun-05
1. Lines whose length was between 32768 and 65535 were ending up with
negative lengths because I was using short int rather than unsigned short
int. They showed up therefore as empty lines, which was pretty disastrous. As
well as inserting "unsigned", I have removed "short", since \
memory is plentiful
these days. So line lengths can in principle be *really* big.
2. Change from -lcurses to -lncurses in the Makefile.
3. Insert $(DESTDIR) before all the path names for make install.
Version 2.00 01-Mar-04
This version has had the code refactored in several ways, and the compiling
process has been converted into a conventional "configure, make, make \
paradigm. Only PCRE regular expressions are supported, and the PCRE library has
to be installed. Only Unix-like systems are now supported. The initialization
now uses .nerc instead of an environment variable. A number of other tidies and
minor interface changes were made. The documentation was re-worked to remove
all the obsolete stuff and to incorporate the changes.