Version 3.18 04-May-2021
------------------------
1. Allow mark textblock and mark rectangle keystrokes in readonly mode (the
corresponding commands and the "copy" keystroke were already allowed; this was
an oversight).
2. Two casts in sysunix.c for the 2nd argument of tgetstr().
3. The buffers for file names were too small for very long file names. They
have been increased in size and put on the stack instead of statics in the
binary.
4. Some obsolete memory-handling code has been tidied up. Use size_t for memory
sizes. NE now frees all its memory via an atexit() function, but in screen mode
ncurses doesn't free everything (see various online discussions).
Version 3.17 21-October-2018
----------------------------
1. Added support for Page-up, Page-down, Home, and End keys via terminfo or
termcap.
2. Fix 2 for 3.16 had a bug when the build date was greater than the 9th of the
month.
Version 3.16 07-August-2018
---------------------------
1. In screen mode, if an empty line was given in response to the "Write" prompt
at the end of editing, NE crashed.
2. Refactor to use memcpy() instead of strncpy() when messing with substrings
in order to avoid GCC string truncation warnings.
3. Implemented the "unformat" command.
4. Allow up to function key 30 (previously was 29, don't know why), and set
function keystring 30 to "unformat".
5. When screen mode was temporarily suspended via the "*" command, if the
"load" or "g" commands required a user response, NE crashed.
6. Recognize -version as well as --version and -v since all other long options
have just a single hyphen.
Version 3.15 01-May-2018
------------------------
1. The "logo" line "NE version xxxx" was showing the PCRE version which was
current when NE was compiled (static) instead of getting the current (dynamic)
version from a shared library. This is now fixed and the line reformatted.
2. Minor error in command line decoding; for switch items such as -id it was
checking the text pointer (which might be partly unset) instead of the number
field.
3. There is now a maximum linelength that NE will handle when reading a file in
non-binary mode. The limit is 100,000 bytes. This prevents it going into a
meltdown memory thrashing state for a file that contains an excessively long
line.
Version 3.14 26-February-2018
-----------------------------
1. Two calls to error_moan() for failing to open a file were missing a second
argument (specifying reading or writing), leading to a crash for an unknown
file.
2. Added strerror() calls to all failed-do-open file errors.
3. Added some "fall through" comments when deliberately falling through.
4. Increased an internal buffer size to avoid format-overflow warning in "show
wordcount" command.
5. Implemented -notraps to disable catching crash signals. This makes crashes
easier to debug.
Version 3.13 19-December-2016
-----------------------------
1. Since 3.12 the list of commands that are allowed in readonly mode was out of
step by one.
2. Output "reading" or "writing" when reporting failure to open a file.
3. If a regular expression match in widechars mode encountered a line
containing an invalid UTF-8 string, it behaved as "no match" on that line
instead of reporting the error from PCRE.
4. In screen mode, if a global limit was set, the ending message for a global
match (e.g. "No More: x matches, y changes") was overwritten at the start by a
line number unless "all" was given to the global prompt.
5. The global limit mark has been separated from the text mark and now operates
independently. As a result, it is now possible to cut and paste text and do
bulk line operations while a global limit is set.
6. The "configure" script now checks for the presence of the chosen PCRE
library and also for the termcap or terminfo library.
Version 3.12 04-October-2016
----------------------------
The way that the "back" command works is completely revised. It is now possible
to change the size of the "regions" that "back" remembers, using the BACKREGION
command. The "front" command (defaulted on the ^F keystroke) moves to the line
that is at the top of the back stack.
Version 3.11 19-August-2016
---------------------------
1. NE was crashing if a BACK command was issued before any changes were made
to the file.
2. "Back" line handling was doing some unnecessary processing and occasionally
giving a mysterious (incorrect) error message about reading commands in
binary mode. This should have been "'back' line not found", an internal
error. The internal error has been fixed. It happened in some cases when two
changes were made on a line that was subsequently deleted - only one
instance was removed from the "back" list if the two instances were
adjacent.
3. "Back" handling wasn't always remembering modification points for certain
cursor movements.
Version 3.10 27-January-2016
----------------------------
1. Default to using PCRE2, but with a configure option to revert to PCRE1.
2. Removed some old coding macros that were set up for 16-bit Borland C, which
are surely obsolete now.
3. Fix minor uninitialized read issue in argument decoding on 64-bit systems.
4. After compiling with a lot of warnings enabled, a lot of code tidying has
been done, mainly turning many int variables into unsigned ints, and
removing parameters that are not used in Unix-like environments (a hangover
from early versions that ran on different systems). There is still plenty
that could be done, however.
5. Removed configure tests for strerror(), memmove(), and bcopy() as these are
nowadays always available, and anyway, the code no longer checked the
macros (bcopy() wasn't even used). TIOCGWINSZ was assumed in the
configuration, so removed the checks in the code.
Version 3.04 27-December-13
---------------------------
1. Change 2 for 3.03 broke full-screen editing when run from a non-xterm
terminal (e.g. "screen") because it acccidentally insisted on the presence
of a Delete key.
Version 3.03 09-November-13
---------------------------
1. Removed some set but unused variables (detected by clever new compiler).
2. Updated special keystroke handling for xterm to use more of the default
strings as specified in the default terminfo file (at least, the one on my
Arch Linux system).
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
to do.
3. Some additional information has been added to the output from "show
settings".
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
caused segfaults.
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
ages.
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
multiple lines.
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
fixed:
(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
scrambled.
(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 present,
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). The current
line is changed only if it would disappear off the screen. The "mouse" command
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 interaction
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 install"
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.
Problems found with existing distfiles:
distfiles/javascript-2.1b1.el
distfiles/yEd-3.14.2.zip
No changes made to the javascript-mode or yEd distinfo files.
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
INSTALLATION_DIRS, as well as all occurrences of ${PREFIX}/man with
${PREFIX}/${PKGMANDIR}.
Fixes PR 35265, although I did not use the patch provided therein.
package to version 1.26 (14th July 1999)
Changes since previous version:
+ The cl command may now take a hexadecimal string as its (optional)
argument, for example cl x/0d/.
+ updated NetBSD support in base package.
package to version 1.26 (14th July 1999)
Changes since previous version:
+ The cl command may now take a hexadecimal string as its (optional)
argument, for example cl x/0d/.
+ updated NetBSD support in base package.