gno/bin/vi/version.c
gdr-ftp 784e3de7cd Initial checkin of aroff, binprint, center, less, ls, make, makemake,
passwd, ps, purge, shutdown, stty, upper, and vi.  These sources are
for the versions of the utils shipped with GNO v2.0.4.
1998-03-09 08:30:21 +00:00

187 lines
8.8 KiB
C

/*
* STEVIE - Simply Try this Editor for VI Enthusiasts
*
* Code Contributions By : Tim Thompson twitch!tjt
* Tony Andrews onecom!wldrdg!tony
* G. R. (Fred) Walter watmath!grwalter
*/
/*
* Version Changes (and person who did them)
* ------- ---------------------------------
* 3.10 - version that started it all. Found on comp.sources.unix
* Jun88 Volume 15 i037, i038, i039, i040, i042, and INF3
* - Tim Thompson and Tony Andrews
*
* 3.10A - took version of STEVIE posted to usenet and added Amiga
* and BSD support; added undo and redo commands; sped up
* output to screen; sped up on-screen activities (such as
* cursoring); fixed miscellaneous small bugs and changed some
* commands so that they more closely resembled vi.
* - GRWalter (Fred)
*
* 3.11B - added the ability to be run in the background (STEVIE will
* attempt to use the current window, but if it can't then it
* will open its own window). Fixed some other miscellaneous
* bugs (some to do with re-sizing the screen, one to do with
* undo'ing changes on lines that start with whitespace).
* - GRWalter (Fred)
*
* 3.11C - fixed a bug that was causing the entire screen to be refreshed
* at the wrong times sometimes. Input mode was sped up as well
* as a bug involving lines that wrapped was fixed. Changed :ta
* a bit. Fixed bug triggered when files are > 6000 lines.
* - GRWalter (Fred)
*
* 3.31A - Tony Andrews put out a divergent version of STEVIE (version 3.31).
* I moved the important stuff over into my version.
*
* Here is a list of what was moved over :
*
*************************************************************************
* Revision 3.29 88/06/26 14:53:19 tony
* Added support for a simple form of the "global" command. It supports
* commands of the form "g/pat/d" or "g/pat/p", to delete or print lines
* that match the given pattern. A range spec may be used to limit the
* lines to be searched.
*
* Revision 3.28 88/06/25 21:44:22 tony
* Fixed a problem in the processing of colon commands that caused
* substitutions of patterns containing white space to fail.
*
* Revision 3.26 88/06/10 13:44:06 tony
* Fixed a bug involving writing out files with long pathnames. A small
* fixed size buffer was being used. The space for the backup file name
* is now allocated dynamically.
*
* Revision 1.12 88/05/03 14:39:52 tony
* Also merged in support for DOS.
*
* Revision 1.11 88/05/02 21:38:21 tony
* The code that reads files now handles boundary/error conditions much
* better, and generates status/error messages that are compatible with
* the real vi. Also fixed a bug in repeated reverse searches that got
* inserted in the recent changes to search.c.
*
* Revision 1.10 88/05/02 07:35:41 tony
* Fixed a bug in the routine plines() that was introduced during changes
* made for the last version.
*
* Revision 1.9 88/05/01 20:10:19 tony
* Fixed some problems with auto-indent, and added support for the "number"
* parameter.
*
* Revision 1.8 88/04/30 20:00:49 tony
* Added support for the auto-indent feature.
*
* Revision 1.6 88/04/28 08:19:35 tony
* Modified Henry Spencer's regular expression library to support new
* features that couldn't be done easily with the existing interface.
* This code is now a direct part of the editor source code. The editor
* now supports the "ignorecase" parameter, and multiple substitutions
* per line, as in "1,$s/foo/bar/g".
*
* Revision 1.5 88/04/24 21:38:00 tony
* Added preliminary support for the substitute command. Full range specs.
* are supported, but only a single substitution is allowed on each line.
*
* Revision 1.4 88/04/23 20:41:01 tony
* Worked around a problem with adding lines to the end of the buffer when
* the cursor is at the bottom of the screen (in misccmds.c). Also fixed a
* bug that caused reverse searches from the start of the file to bomb.
*
* Revision 1.3 88/03/24 08:57:00 tony
* Fixed a bug in cmdline() that had to do with backspacing out of colon
* commands or searches. Searches were okay, but colon commands backed out
* one backspace too early.
*
* Revision 1.2 88/03/21 16:47:55 tony
* Fixed a bug in renum() causing problems with large files (>6400 lines).
*************************************************************************
* - GRWalter (Fred)
*
* 3.32A - added the :[range]d command. Played with 'p' and 'P'.
* Added undo capability to :s and :g//d commands.
* Added '%' as a line range specifier (entire file).
* Fixed search so that tags file from real ctags could be used.
* Fixed undo after delete everything operation.
* Made prt_line work in nu mode (so :g//p works right).
* Fixed ai mode (when there was text after the cursor it didn't ai).
* Fixed 'J' (didn't handle next line just having whitespace).
* Fixed :[range] so it behaves like the real vi (goes to highest
* line number in the given range).
* Made it so that the cursor is on the last char inserted instead
* the one right after when there is exactly 1 char right after.
* Made change operator work properly when it ended on the
* end of the line.
* - GRWalter (Fred)
*
* 3.33A - no longer s_refresh when putting or undoing or
* redoing until I am done. 'p', 'u' and '.' thus sped up.
* - no longer recalculate line lengths when cursupdate() called,
* which speeds up lots'a things (like on-screen cursoring).
* - avoid redrawing (in s_refresh) as much as possible, which
* speeds up (among other things) cursoring (off screen), put, undo,
* redo, etc.
* - GRWalter (Fred)
*
* 3.34A - rewrote s_refresh and updatenextline so they won't do as
* much work. Sped up cursoring off-screen. Fixed bug in cursupdate
* (could index through NULL pointer).
* - GRWalter (Fred)
*
* 3.35A - Compiles with Lattice 5.0 now - needed miscellaneous changes.
* - Environment variables (EXINIT) finally used.
* - Stevie is now compiled so it's residentable.
* - Fixed bug in insstr() (caused problems with redo of inserts).
* - Fixed buffer overflow/corrupt messages.
* - Tweaked s_refresh routine some more.
* - Added __DATE__ and __TIME__ of compilation to help screen.
* - GRWalter (Fred)
*
* 3.35F - Removed Nextscreen, Realscreen, updateRealscreen and
* - redrawline. Re-wrote all screen I/O to directly update the
* screen when necessary, with a resulting memory and speed savings.
* - Fixed bug in amiga.c that caused Stevie to (occasionlly) lock-up
* upon startup until the window was resized.
* - Removed T_SC and T_RC from term.h file (no longer used).
* - Miscellaneous little changes.
* - GRWalter (Fred)
*
* 3.35H - Fixed all routines to check memory allocation return status
* (except for strsave() function).
* - Fixed bug with macro outone() in amiga.c and bsd.c.
* - GRWalter (Fred)
*
* 3.6 - Big jump in revision number since last version on a Fish Disk
* was descibed as version 3.5 (thus people will know this is
* a later version).
* - Miscellaneous little changes.
* - GRWalter (Fred)
*
* 3.6A - Added (Amiga) AUX: device support to Stevie.
* - GRWalter (Fred)
*
* 3.7 - Now use ARP wildcard expansion for the command line and for
* the :e and :r commands. If ARP isn't available, Stevie still
* works, but no wildcard expansion is done.
* - Added :!cmd support to Stevie.
* - Added 'R'eplace mode to Stevie.
* - Added ':e %' where %=current filename.
* - Fixed bug with 'cw' when on a single character word.
* - Fixed bug with 'cw' and 'dw' when at the end of a line.
* - Fixed bugs with ":set list" and ":set nu" modes.
* - Fixed bug with CTRL('^') (switch to alternate file) after
* a :ta was done that stayed within the same file.
* - Fixed bug with '@' when editting on the command line
* (I.E. with '/', '?', or ':').
* - When run, Stevie tries to open a 640x200 window.
* - GRWalter (Fred)
*
* 3.7A - Fixed possible memory leakage in wildcard code.
* - Fixed filename loss if file didn't exist (bug in wildcard code).
* - GRWalter (Fred)
*/
char *Version = "STEVIE - Version 3.7A";