Changes from version 1.18a

---- Improvements -----

  * Implemented support for the prefix-simulated Meta key, for instance
    as found in gnome-terminal. Now it is possible to program, at least
    partially, the behaviour of keys modified by ALT (META). Have a look
	 at the new default.keys file.

  * Finally implemented MS-DOS CR/LF termination handling. File with
    at least a CR/LF are marked automatically to be saved with CR/LFs. There
    is a flag that remembers this, and you can change it with the command
    CRLF, so every conversion is possible. PreserveCR of course continues to
    treat CRs as standard characters.

  * ne has now an --ansi option that makes it able to run without any
    terminal database, provided the terminal used is roughly ANSI-compliant,
    using a hardwired set of capabilities. By building ne with the "ansi"
    target, the switch to the hardwired set can be made automatical. The
    target also forces termcap instead of terminfo, so the resulting ne is
    completely independent of any system library and also of any database. A
    corresponding --noansi option ensures that the built-in terminal is
    ignored.

  * A new powerful navigation command borrowed from Brief was implemented
    following Arnim Littek's suggestion. It move incrementally towards
    the (or start) of file. It is bound to the Home and End keys by default.
    Try it out! (MoveIncUp/MoveIncDown)

  * Many new keyboard sequences have been built into ne, to improve
    compatibility with broken terminal databases.


Changes from version 1.18

---- Bug fixes -----

  * REALLY fixed all cosmetic problems with wrong cursor positioning after
    quitting ne.


Changes from version 1.17

---- Bug fixes -----

  * The REPLACEALL command was not starting the chained undo system giving rise
    to quirky behaviour.

  * Fixed a small bug when recording find operations: quotes
    around arguments would have been lost.

  * Fixed a small problem with terminal database: we have to 
    use key_end, not key_ll for the end key.

  * Since completion had been introduced, you couldn't type a TAB into the
    command line even if completion wasn't allowed. This is fixed.

  * Fixed a small problem with garbage printed on the screen when editing
    binary files.

  * Fixed a small problem when replacing regexp patterns that could match the
    empty string with the empty string.

  * HexCode is now inherited by new buffers.

  * Fixed all cosmetic problems with wrong cursor positioning after
    quitting ne.



Changes from version 1.14d to 1.17

---- File Operations ----

  * File loads and saves will not try to operate on directories or migrated
    files. Such attempts result in a read-only unmodified buffer containing the
    line "<File is a directory; ne won't touch it.>" or "<File is migrated; ne
    won't touch it.>"

  * The new command "PreserveCR" toggles a prefs flag which changes the way
    carriage returns are treated when files are loaded. With PreserveCR set,
    <CR> characters are treated as text rather than line terminators.

  * Autoprefs are now loaded and set _before_ file data is loaded.

  * Simple filename completion on the command line using the TAB key. Hitting
    the key twice brings you to the file requester. Also, exiting the file
    requester with the TAB key will leave on the input line the currently
    selected file.

---- Flags ----

  * New "PreserveCR" command and flag. (see above)

  * New "Flags" command does exactly what "help flags" does; it explains all
    those funny letters at the bottom of the screen, and tells which commands
    operate on each of them.

  * New "Modified" command lets you change the flag that tells whether the
    buffer is modified.

  * New "PushPrefs" and "PopPrefs" push and pop buffer specific flags onto a
    stack. Handy for macros that need to have certain flag settings to work
    properly. Also makes it easy to transfer a set of flags from one buffer to
    another: "PushPrefs", "NextDoc", "PopPrefs" will do that.

  * The Turbo command now operates differently: there is no more displayed `t'
    flag, the turbo parameter is global, and the value 0 of the parameter means
    using twice the number of visible rows (which is however now adjusted 
    dynamically). If you do not want delayed updates, use a very large number.

---- Navigation ----

  * New "AdjustView [T|C|B|L|M|R]" command shifts the display virtically so that
    your current line becomes the Top, Center, or Bottom displayed line (for
    'T','C','B' respectively), or shifts the display horizontally so that your
    current column becomes the Left-most, Middle, or Right-most column (for
    'L','M','R' respectively) within the limits of the current tab size.

  * New "MoveTOS" and "MoveBOS" commands move to the top and bottom of the
    screen, respectively.

  * New "PageUp" and "PageDown" commands which have different semantics from
    PrevPage and NextPage. Basically, starting from anywhere and doing any
    number of PageUps and PageDowns, you can get back to where you were -- with
    the same screen view and cursor position -- using only PageUps and
    PageDowns.

---- Editing ----

  * Greatly enhanced "Paragraph" command. It still doesn't do smart spacing
    after punctuation or justification or other evil things, but it does handle
    space to the left of paragraphs and first-line indent (both positive and
    negative).

  * Fixed a small bug in word_wrap() that would cause leading space to diminish
    and spurious new lines to be inserted if the offending line had leading
    space but was otherwise unbreakable (like a long URL for example).
    
---- Miscellaneous ----

  * New command line history. Cursor up and down let you select previously
    entered strings for further editing. Most recent command strings are saved
    and loaded automatically in ~/.ne/.history.

  * Number can be entered in octal (prefix with 0), hexadecimal (prefix with
    0x) or decimal.

  * Status line now shows '-' instead of ' ' for unset flags.

  * Status line optionally (via the HEXCODE command) displays the two-digit
    hex code of the current character between the flags and the file name.
    
  * Status line shows the right-most part of the file name if it won't all fit
    on the screen.

  * ^E now moves to the end of line, and ^Z suspends ne.

  * A global ne directory gives the sysadmin a place to put macros and autopref
    files for things common to his machine, or in environments which are heavily
    into shared file/name space, things common to a group of machines. A user's
    settings in his own ~/.ne directory will take precidence over anything found
    in the global ne directory of course.

  * New "InsertString" command. When saving macros, sequences of "InsertChar"
    commands are turned automagically into a possibly smaller number of
    "InsertString" commands.

  * Support for resizing windows on systems which support the SIGWINCH signal
    and the TIOCGWINSZ ioctl. Refresh (^L) will force a check of the current
    window size anyway. Note that the there is no resize during inputs on the
    commandline.

  * Augmented terminal sequences as a kludge against badly administrated
    terminal databases.




Changes from version 1.14d

- New --keys and --menus options allow to configurate the configuration (!) file
names.

- At startup, after the copyright message a pointer to the F1/ESC keys is
printed.

- Fixed a bad bug related to backward regexp searches.

- New Suspend (SU) command that suspends ne using the TSTP signal

- ARGH! The up_case array does not upper Z!

- replace_regexp wasn't handling correctly the `\\` case

- The up_case array was "downcasing" @ (which of course is nonsense)

- Fixed a small bug in the update of a wordwrapped line

- Fixed a bug in the buffered save code: a line feed (or NUL character) at a
multiple of the length of the save buffer followed by an empty line would have
caused a crash; this was happening currently with line feeds at multiples of
32768

- Fixed a very stupid bug: the line length field was a short int---sorry

- isspace(), ispuntct() etc. have problems if signed chars are the default of
the compiler. (unsigned char) has been prefixed to the argument of every call to
those functions. Moreover, a call to setlocale() sets correctly the their
behaviour depending on the language chosen by the user.

- Fixed a bug in paragraph(); ne used to try to delete something on a
non-existing line.

- Added information about compilation under SunOS. In particular, an ugly
crashing problem has been tracked to a strange behaviour of realloc(NULL,n),
which returns 0. Moreover, the famous problem with the ESC key (ne was
terminating) has been tracked to bad behaviour of Sun's termcap libraries.

- When creating a file only user read/write permissions were required. Now all
permissions are set up. umask will filter out the unwanted ones.

- Fixed problem when saving preferences files on Linux.

- Fixed a bug with unsigned enums (wrong commands did not produce error
messages).

- Fixed a bug with repeated empty copies (causing segmentation faults).

- Fixed problems with getcwd() and with argv[]; thanks to Todd M. Lewis for
finding out the problems and suggesting the fixes.

- DeleteLine would not stop deleting when on the last line. Now it returns an
error.

- A severe bug in request_files fixed by Todd Lewis; the character buffer would
have been reallocated, but the pointers to the buffer would have not been
updated.

- Fixed problems under Linux (exiting could cause bash not to work or reverse
mode under tcsh).

- Fixed a problem with hard spaces (160). They were printed as such, now they
are printed as spaces.

