./editors/ne, Terminal text editor

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 3.15, Package name: ne-3.15, Maintainer: prlw1

NE is a text editor that was originally designed to run on a wide
variety of machines, from large servers to personal workstations.
In the past it ran on a number of operating systems; however, the
current version supports only Unix-like systems.

The main use of NE is expected to be as an interactive screen
editor. However, it can also function as a line-by-line editor,
and it is programmable, so it can be run non-interactively as a
text manipulation tool.

NE is a re-implementation of a previous editor that was called E,
which in turn evolved from one called Zed and a number of predecessors
that ran on IBM mainframes. The lineage can be traced back to some
very early Cambridge text editors of the 1960s.

Required to run:

Required to build:

Master sites:

SHA1: 141fbfd001080bd54fe2de8356eb5c24fb4e7630
RMD160: 05d9c8ee9e27256448ea66232732a297471cfa14
Filesize: 649.393 KB

Version history: (Expand)

CVS history: (Expand)

   2019-06-08 12:41:00 by Roland Illig | Files touched by this commit (93)
Log message:
editors/*: let pkglint fix indentation and variable alignment

pkglint -Wall -F -r editors

Manually fixed the changes in editors/nedit since the "fixed" indentation
was wrong.
   2018-06-06 16:53:04 by Patrick Welche | Files touched by this commit (2) | Package updated
Log message:
Update ne to 3.15

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

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

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

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.
   2017-12-16 20:46:29 by Patrick Welche | Files touched by this commit (4) | Package updated
Log message:
Update ne to 3.13

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 \ 
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 \ 
   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

3. "Back" handling wasn't always remembering modification points for \ 
    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 \ 
   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).
   2016-06-19 19:25:31 by Patrick Welche | Files touched by this commit (3) | Package updated
Log message:
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
   to do.

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
   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

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

    (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). \ 
The current
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.
   2016-02-25 13:56:10 by Jonathan Perkin | Files touched by this commit (3)
Log message:
   2015-11-03 04:32:24 by Alistair G. Crooks | Files touched by this commit (138)
Log message:
Add SHA512 digests for distfiles for editors category

Problems found with existing distfiles:
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.
   2014-09-24 00:30:30 by Jonathan Perkin | Files touched by this commit (1)
Log message:
Use appropriate build target on SunOS.
   2013-10-24 11:35:10 by Jonathan Perkin | Files touched by this commit (2)
Log message:
Fix build on SunOS.  Patch from Sebastian Wiedenroth.