316 lines
14 KiB
C
316 lines
14 KiB
C
|
static char RCSid[] =
|
||
|
"$Header: /nw/tony/src/stevie/src/RCS/version.c,v 3.69 89/08/13 11:41:58 tony Exp $";
|
||
|
|
||
|
/*
|
||
|
* Contains the declaration of the global version number variable.
|
||
|
*
|
||
|
* revision 0.23 JohnRo 1/20/92
|
||
|
* Make tag search obey ignorecase flag.
|
||
|
*
|
||
|
* revision 0.22 JohnRo 11/6/91
|
||
|
* Made Tags file more like that of other versions of VI.
|
||
|
*
|
||
|
* revision 0.21 tedm 6/9/91
|
||
|
* add named buffers (numbered buffers still absent)
|
||
|
*
|
||
|
* revision 0.16 tedm 6/8/91
|
||
|
* add v and V visual operators for lowercasing and uppercasing.
|
||
|
*
|
||
|
* revision 0.15 tedm
|
||
|
* add :list
|
||
|
*
|
||
|
* revision 0.14 tedm
|
||
|
* add source command and automatic 'source $init:ntvi.exe' at startup
|
||
|
*
|
||
|
* Revision 0.13 tedm
|
||
|
* add undo for line-oriented delete. Still no undo for global or substitute.
|
||
|
*
|
||
|
* Revision 0.12 tedm
|
||
|
* add line-oriented delete command.
|
||
|
*
|
||
|
* Revision 0.11 tedm
|
||
|
* Changes various buffers to be dynamically allocated. Insert mode is no
|
||
|
* longer limited to 1024 characters at a time.
|
||
|
*
|
||
|
* NT version 0.1 tedm
|
||
|
* ported
|
||
|
*
|
||
|
* $Log: version.c,v $
|
||
|
* Revision 3.69 89/08/13 11:41:58 tony
|
||
|
* Fixed a bug that caused messages from fileinfo() (in misccmds.c) to get
|
||
|
* messed up. The routine smsg() which uses the kludge approach to varargs
|
||
|
* didn't have enough parameters for some of the calls made to it.
|
||
|
*
|
||
|
* Revision 3.68 89/08/06 09:51:20 tony
|
||
|
* Misc. minor changes to make lint happier before posting to USENET.
|
||
|
*
|
||
|
* Revision 3.67 89/08/03 13:08:52 tony
|
||
|
* There was some code in ops.c that was duplicating the function of the
|
||
|
* getcmdln() routine in cmdline.c. I modified getcmdln() to be slightly
|
||
|
* more general, and changed dofilter() in ops.c to use it.
|
||
|
*
|
||
|
* Revision 3.66 89/08/02 20:00:12 tony
|
||
|
* Fixed some problems with mode lines. There were still extra screen
|
||
|
* redraws that needed to be avoided. There was also a problem involving
|
||
|
* nested calls to docmdln() that can occur when mode lines are used.
|
||
|
*
|
||
|
* Revision 3.65 89/08/02 15:50:03 tony
|
||
|
* Finally got around to providing full support for the "change" operator.
|
||
|
* Multi-line changes (like "cL" or "3cc") now work correctly. Also fixed
|
||
|
* a small problem with multi-line character-oriented deletes leaving the
|
||
|
* cursor in the wrong location (off by one character). This is mainly
|
||
|
* useful for multi-line changes (such as "c%") so the insert starts in
|
||
|
* the right place.
|
||
|
*
|
||
|
* Revision 3.64 89/08/02 12:47:04 tony
|
||
|
* This message intentionally left blank.
|
||
|
*
|
||
|
* Revision 3.63 89/08/02 12:43:44 tony
|
||
|
* I just noticed that I had used the RCS cookie for log messages in one
|
||
|
* of my prior version messages. This caused these version update messages
|
||
|
* to be duplicated in this file. I just removed that string, and the
|
||
|
* extra message copies that had been generated.
|
||
|
*
|
||
|
* Revision 3.62 89/08/02 12:26:20 tony
|
||
|
* The ^G command now shows where you are in the file list, if more than one
|
||
|
* file is being edited. Also, the commands ":e#" and ":e!#" (note the lack
|
||
|
* of a space between the command and file name) will now work.
|
||
|
*
|
||
|
* Revision 3.61 89/08/02 11:03:16 tony
|
||
|
* Misc. cleanups regarding tags. Also added support for the "terse" option.
|
||
|
* This is ignored, but improves compatibility with vi, since we no longer
|
||
|
* complain about an unknown option if "terse" is used.
|
||
|
*
|
||
|
* Revision 3.60 89/08/02 09:26:39 tony
|
||
|
* Added code to avoid screen redraws when input is being read from the
|
||
|
* "stuffin" buffer. This avoids extra redraws when switching to the
|
||
|
* alternate file, or when invoking the editor with one of the "+" options,
|
||
|
* or when using tags.
|
||
|
*
|
||
|
* Revision 3.59 89/08/01 16:28:31 tony
|
||
|
* Added better support for counts on several cursor motion commands. These
|
||
|
* include ^F, ^B, f, F, t, T, as well as the repeated character search
|
||
|
* commands (command and semi-colon).
|
||
|
*
|
||
|
* Revision 3.58 89/07/19 08:08:23 tony
|
||
|
* Added the ability for '~' to be an operator. If enabled (by defined TILDEOP
|
||
|
* in env.h), the parameter "tildeop" (or "to") may be set to turn tilde into
|
||
|
* an operator.
|
||
|
*
|
||
|
* Revision 3.57 89/07/13 22:47:05 tony
|
||
|
* Made some generic speed improvements in screen.c and some TOS-specific
|
||
|
* improvements in tos.c. The TOS version is now much faster at screen
|
||
|
* updates than before.
|
||
|
*
|
||
|
* Revision 3.56 89/07/13 14:52:03 tony
|
||
|
* Minor cleanups in normal.c
|
||
|
*
|
||
|
* Revision 3.55 89/07/13 14:19:12 tony
|
||
|
* Cleaned up the logic in getcmdln() A LOT. The routine docmdln() needs a
|
||
|
* similar overhaul.
|
||
|
*
|
||
|
* Revision 3.54 89/07/12 21:40:01 tony
|
||
|
* Lots of misc. cleanup in normal.c and cmdline.c, but nothing much in the
|
||
|
* way of functional improvements. One change is that things like d/foo<CR>
|
||
|
* will now work since searches are less of a special case now.
|
||
|
*
|
||
|
* Revision 3.53 89/07/11 16:16:08 tony
|
||
|
* Added general support for interrupt-handling for those environments that
|
||
|
* can actually generate them. Basically, long-running operations are now
|
||
|
* able to terminate early if an error occurs. These operations are: string
|
||
|
* searches, the global command (":g/.../"), and file reads. File writes
|
||
|
* should probably be done as well, but this is more dangerous. In all cases,
|
||
|
* the user is given an indication on the status line that the operation
|
||
|
* terminated due to an interrupt.
|
||
|
*
|
||
|
* Revision 3.52 89/07/11 12:35:09 tony
|
||
|
* Improved the code in dosub() and doglob() that detects quoted characters
|
||
|
* and delimiters in search strings and replacement patterns. The current
|
||
|
* code didn't allow certain valid strings to be used. The delimiter is still
|
||
|
* required to be '/', but it can be quoted reliably now with backslash.
|
||
|
*
|
||
|
* Revision 3.51 89/07/10 14:01:58 tony
|
||
|
* Removed the function addtobuff() since it was rarely used and could be
|
||
|
* replaced by calls to other library functions. Also removed some other
|
||
|
* obsolete code that was already ifdef'd out anyway.
|
||
|
*
|
||
|
* Revision 3.50 89/07/10 13:10:32 tony
|
||
|
* Added a workaround in normal.c to avoid problems with broken versions of
|
||
|
* strncpy() that don't properly deal with a count of zero.
|
||
|
*
|
||
|
* Revision 3.49 89/07/07 16:28:37 tony
|
||
|
* Fixed a long-standing bug with 'cw' when the cursor is positioned on a
|
||
|
* word with only one character. Also fixed a problems with zero-length files
|
||
|
* and reverse searches.
|
||
|
*
|
||
|
* Revision 3.48 89/03/22 10:26:58 tony
|
||
|
* Fixed some outdated uses of the ":p" command (which has been changed to
|
||
|
* ":N" in os2.c and dos.c. Also added macros (F7 and F8) for dos and os/2
|
||
|
* to use the "cdecl" program to convert lines to and from a pseudo-english
|
||
|
* form. Use F7 to "explain" the declaration on the current line, and F8 to
|
||
|
* convert an english-style declaration to the C form. In both cases, the
|
||
|
* new form is placed on the next line, leaving the original line intact.
|
||
|
*
|
||
|
* Revision 3.47 89/03/11 22:44:14 tony
|
||
|
* General cleanup. Removed the static "rcsid" variables and the log
|
||
|
* strings (except in version.c). Fixed some coding style inconsistencies
|
||
|
* and added a few register declarations.
|
||
|
*
|
||
|
* Revision 3.46 89/02/14 09:52:07 tony
|
||
|
* Made a first pass at adding Robert Regn's changes, starting with the
|
||
|
* more portable ones. Added better support for '#' and '%' in colon
|
||
|
* commands, support for a configurable temp directory, and made the
|
||
|
* termcap code less picky about capabilities.
|
||
|
*
|
||
|
* Revision 3.45 88/11/10 09:00:06 tony
|
||
|
* Added support for mode lines. Strings like "vi:stuff:" or "ex:stuff:"
|
||
|
* occurring in the first or last 5 lines of a file cause the editor to
|
||
|
* pretend that "stuff" was types as a colon command. This examination
|
||
|
* is done only if the parameter "modelines" (or "ml") is set. This is
|
||
|
* not enabled, by default, because of the security implications involved.
|
||
|
*
|
||
|
* Revision 3.44 88/11/01 21:34:11 tony
|
||
|
* Fixed a couple of minor points for Minix, and improved the speed of
|
||
|
* the 'put' command dramatically.
|
||
|
*
|
||
|
* Revision 3.43 88/10/31 13:11:33 tony
|
||
|
* Added optional support for termcap. Initialization is done in term.c
|
||
|
* and also affects the system-dependent files. To enable termcap in those
|
||
|
* environments that support it, define the symbol "TERMCAP" in env.h
|
||
|
*
|
||
|
* Revision 3.42 88/10/27 18:30:19 tony
|
||
|
* Removed support for Megamax. Added '%' as an alias for '1,$'. Made the
|
||
|
* 'r' command more robust. Now prints the string on repeated searches.
|
||
|
* The ':=" command now works. Some pointer operations are now safer.
|
||
|
* The ":!" and ":sh" now work correctly. Re-organized the help screens
|
||
|
* a little.
|
||
|
*
|
||
|
* Revision 3.41 88/10/06 10:15:00 tony
|
||
|
* Fixed a bug involving ^Y that occurs when the cursor is on the last
|
||
|
* line, and the line above the screen is long. Also hacked up fileio.c
|
||
|
* to pass pathnames off to fixname() for system-dependent processing.
|
||
|
* Used under DOS & OS/2 to trim parts of the name appropriately.
|
||
|
*
|
||
|
* Revision 3.40 88/09/16 08:37:36 tony
|
||
|
* No longer beeps when repeated searches fail.
|
||
|
*
|
||
|
* Revision 3.39 88/09/06 06:51:07 tony
|
||
|
* Fixed a bug with shifts that was introduced when replace mode was added.
|
||
|
*
|
||
|
* Revision 3.38 88/08/31 20:48:28 tony
|
||
|
* Made another fix in search.c related to repeated searches.
|
||
|
*
|
||
|
* Revision 3.37 88/08/30 20:37:16 tony
|
||
|
* After much prodding from Mark, I finally added support for replace mode.
|
||
|
*
|
||
|
* Revision 3.36 88/08/26 13:46:34 tony
|
||
|
* Added support for the '!' (filter) operator.
|
||
|
*
|
||
|
* Revision 3.35 88/08/26 08:46:01 tony
|
||
|
* Misc. changes to make lint happy.
|
||
|
*
|
||
|
* Revision 3.34 88/08/25 15:13:36 tony
|
||
|
* Fixed a bug where the cursor didn't land on the right place after
|
||
|
* "beginning-of-word" searches if the word was preceded by the start
|
||
|
* of the line and a single character.
|
||
|
*
|
||
|
* Revision 3.33 88/08/23 12:53:08 tony
|
||
|
* Fixed a bug in ssearch() where repeated searches ('n' or 'N') resulted
|
||
|
* in dynamic memory being referenced after it was freed.
|
||
|
*
|
||
|
* Revision 3.32 88/08/17 07:37:07 tony
|
||
|
* Fixed a general problem in u_save() by checking both parameters for
|
||
|
* null values. The specific symptom was that a join on the last line of
|
||
|
* the file would crash the editor.
|
||
|
*
|
||
|
* Revision 3.31 88/07/09 20:39:38 tony
|
||
|
* Implemented the "line undo" command (i.e. 'U').
|
||
|
*
|
||
|
* Revision 3.30 88/06/28 07:54:22 tony
|
||
|
* Fixed a bug involving redo's of the '~' command. The redo would just
|
||
|
* repeat the replacement last performed instead of switching the case of
|
||
|
* the current character.
|
||
|
*
|
||
|
* 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.27 88/06/20 14:52:21 tony
|
||
|
* Merged in changes for BSD Unix sent in by Michael Lichter.
|
||
|
*
|
||
|
* 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 3.25 88/05/04 08:29:02 tony
|
||
|
* Fixed a minor incompatibility with vi involving the 'G' command. Also
|
||
|
* changed the RCS version number of version.c to match the actual version
|
||
|
* of the editor.
|
||
|
*
|
||
|
* Revision 1.12 88/05/03 14:39:52 tony
|
||
|
* Changed the screen representation of the ascii character DELETE to be
|
||
|
* compatible with vi. 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.7 88/04/29 14:50:11 tony
|
||
|
* Fixed a class of bugs involving commands like "ct)" where the cursor
|
||
|
* motion part of the operator can fail. If the motion failed, the operator
|
||
|
* was continued, with the cursor position unchanged. Cases like this were
|
||
|
* modified to abort the operation if the motion fails.
|
||
|
*
|
||
|
* 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).
|
||
|
* Also moved system-specific defines out of stevie.h and into a new file
|
||
|
* named env.h. This keeps volatile information outside the scope of RCS.
|
||
|
*
|
||
|
* Revision 1.1 88/03/20 21:00:39 tony
|
||
|
* Initial revision
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
char *Version = "NT VI - Version 0.23";
|