diff options
Diffstat (limited to 'contrib/nvi/docs/changelog')
-rw-r--r-- | contrib/nvi/docs/changelog | 1102 |
1 files changed, 1102 insertions, 0 deletions
diff --git a/contrib/nvi/docs/changelog b/contrib/nvi/docs/changelog new file mode 100644 index 0000000..1f2a8c6 --- /dev/null +++ b/contrib/nvi/docs/changelog @@ -0,0 +1,1102 @@ +1.78 -> 1.79 (10/23/96) + + Rename delete() to del(), for C++. + + Add Spanish to the list of translations. + + Update to Perl 5.003_06, and other Perl interpreter updates. + + Update the set-edit-option interface for the scripting languages. + + Rework ex command parsing to match historic practice for backslash + escaped <newline> characters inside of global commands. + + Enhance the comment edit option to skip C++ comments. + + Change installation to configure the recovery shell script to match + the system pathnames and to install it into the vi data directory. + Move the recover script into the build directory, and delete the + recover directory. + + Enhance LynxOS support. +1.76 -> 1.78 (10/01/96) + + Fix bugs when both the leftright scrolling and number edit options + were on. + + Fix bug where splitting in the middle of the screen could repaint + incorrectly. + + Fix first-nul in input bug, where random garbage was inserted. + + Correct search and mark-as-motion-command bug, it's a line mode + action if the search starts at or before the first non<blank>. + + Fix bug autoindent bug, where ^D could shift too far in the line. + + Fix core dump where ! command called from the .exrc file. + + Add the -S command-line option, which initializes vi to have the + secure edit option preset. +1.75 -> 1.76 (09/15/96) + + Fix bug where ^V didn't keep input mapping from happening. + + Fix a core dump bug in the R command. + + Give up on licensing: no more shareware, adware, whatever. + + Fix cursor positioning bug for C, S and c$ in an empty file. +1.74 -> 1.75 (08/22/96) + + Add French to the error message translations. + + Move the UNLICENSED message to the end of the message line. + + Fix bug where wide characters in a file name weren't calculated + correctly in the status message. + + Fix bug where cl_rename was called directly, by the ex shell code. + + Fix bug where splitting a screen resulting in a new screen at the + top of the display resulted in badly displayed status messages. +1.73 -> 1.74 (08/18/96) + + Fix bug where the status line wasn't redisplayed if the user ran + an ex command that trashed the screen. + + Fix bug where the long version of the status line wasn't displayed + when switching screens. + + Rework fast-path filename completion code to sort the entries, and + strip out . and .. by default. + + Fix bug where ex went to the first line instead of the last one when + reading in a file. +1.72 -> 1.73 (08/12/96) + + Do filename completion and some file expansion internally for speed. + + Fix CSCOPE_DIRS environmental variable support. + + Ex parser fix for global commands in script files. + + Add the O_PATH option, so you can specify a directory search path + for files. + + Make it possible to specify the database file to cscope, allowing + multiple databases in a single directory. + + Fix incremental search to overwrite erased characters so the user + can tell where they are on the colon-command line. + + Fix incremental search to restart the search if the user enters an + unescaped shell meta character. +1.71 -> 1.72 (07/12/96) + + Cscope fix: test for files newer than the database was reversed. + + Display "files to edit" message for rewind, next and initial screen. + + Fix a bug in the R command where it could fail if the user extended + the file. + + Fix a bug where text abbreviations could corrupt the line. + + Fix a bug where the windowname edit option couldn't be set before a + file was loaded into the edit buffer. + + Fix a bug where the system .exrc values weren't being overridden by + the user's $HOME .exrc values. + + Fix a bug in the filename completion code, where garbage characters + could be added to the colon command line. + + Fix bug where multiple edit sessions on a non-existent file could + all write the file without warning. + + Fix bug where screen update was incorrect if a character triggered + both a wrapmargin and showmatch condition. + + Fix bug in leftright scrolling where <CR> during text input didn't + return the cursor to the left margin. + + Rev the Perl interpreter code, new version from Sven Verdoolaege, + based on Perl 5.003.01. + + Fix bug in tags file pattern search introduced in 1.71. +1.70 -> 1.71 (07/01/96) + + Don't include <term.h> -- neither HPUX or Solaris can cope with it. + + Fix bug where ^M's in the original pattern were converted into new + lines in the file during substitution commands. + + Make window resize events separate from interrupts -- too many users + complained. + + Fix bug in first-character-is-null text input semantic. + + Rework search routines to take a length instead of a nul-terminated + string for a pattern. This fixes a couple of bugs in searching, but + probably introduces new ones. + + Fix prompting the user after a write filter command, the way I did + it in 1.70 broke the display. + + Don't switch to the alternate xterm screen when entering the ex + text input commands from vi mode. + + Implement the Fg command, so can foreground a background screen into + a split screen. + + Change the fg command to match screen names using the last component + of the filename the full filename fails. +1.69 -> 1.70 (06/28/96) + + Change the ex read command to support named pipes. + + Copy the EXINIT/NEXINIT strings before executing their commands so + we don't step on the process environment. + + Don't do "line modification" reports for intermediate commands + executed from the vi colon command line, it screws up filter + reads, causing nvi to prompt for the user to continue. + + Add "smd" as an abbreviation for showmode: HP, ICL and SCO have it. + + Change nvi to always prompt the user after a write filter command. + This matches historic practice. + + Fix recovery information mailed to the user to reflect the program's + installed name. + + Change configuration script to not cache option information, e.g., + --disable-curses. + + Fix a bug where the second character of the vi [[, ]] and ZZ + commands could start a command mapped sequence. + + Fix 3 write bugs: partial writes (3,$write), were clearing the + modified flag, full writes using line numbers (1,$write) were + not, and append historically never cleared the modified flag, and + we didn't get that right. + + Shorten the "more files to edit" message so it can gang on a single + line, lots of people have complained. Add the number of files that + are left to edit, it's historic practice. + + Fix core dump where message catalogs collided with truncating the + write path. Add a new write message so the string "appended" is + taken from a message catalog. + + Fix bug where an undo followed by '.' to repeat it wouldn't work + if no other repeatable commands had been entered. + + Fix core dump when resolution of input lines' autoindent characters + invalidated cached display information. + + Set the name of the X11 xterm icon/window to "xterm" when exiting, + if modified based on the windowname option. + + Include <term.h> if it exists, fixes portability problems on IRIX + systems. +1.68 -> 1.69 (06/17/96) + + Add the windowname edit option and code to change the icon/window + name for xterm's. + + Enhance the comment edit option to skip shell comments. + + Add conditional prototypes to replacement C library functions. + + Minor enhancements/reworking to Makefile.in, other build files. + + Fix bug in vi text input ^D processing, could result in cursor + warp to the beginning of the line. + + Fix leftright screen bug where the screen wasn't repainted when + being repainted from scratch. + + Update the Swedish and Dutch catalogs. + + Truncate paths in write commands if they don't fit on one line. + + Fix alternate screen bug where the screen flashed and output lost + when switching to/from the X11 xterm alternate screen. Fix bug + where nvi switched into the alternate screen during filter-read + commands, which doesn't match historic practice. + + Minor relative cursor positioning change, make cursor position + changes from ex real and permanent. +1.67 -> 1.68 (06/09/96) + + Fix core dump when tagging out of a modified file. +1.66 -> 1.67 (06/09/96) + + Convert the license to adware. + + Leftright scrolling tweak, don't repaint the screen as often. + + Change so that search warning/error messages don't appear during an + incremental search. + + Cscope fix: test for files newer than the database was reversed. + + Don't display ex `welcome message' if in ex batch mode. + + Test for vsnprintf and snprintf separately, HP 10.10 has snprintf + but not vsnprintf. + + Reverse lookup order between LC_MESSAGES and LANG. + + Fix Tcl/Perl core dumps in common API code to get/set options. + + Fix R command -- it used a DB pinned page after discarding it. + + Minor fixes in multiple edit buffer message handling code. + + Fix yk command moving to shorter line core dump. + + Rework message handling to try and gang more messages onto a single + line. +1.65 -> 1.66 (05/18/96) + + Convert vi man page to historic -man macro package, and install it. + + Fix bug were !! on an empty line with a nonexistent command left the + cursor on the second character, not the first. + + Fix bug where line redisplay was wrong when a <tab> replaced a + previous <tab> in the line. + + Fix bug where D (d$) didn't reset the relative cursor position. + + Fix bug where yG incorrectly reset the relative cursor position. + + Fix bug where the window size couldn't be grown once it was shrunk. + + Fix bug where the extended edit option caused tag searches to fail. + + If multiple lines in the tags file with the same leading tag, build + a tags stack like the Cscope stack. This is the obvious extension, + and the way that Larry McVoy's ctags program works. + + Send the appropriate TI/TE sequence in the curses screen whenever + entering ex/vi mode. This means that :shell now shows the correct + screen when using xterm alternate screens. + + Rework the options display code to get five columns in an 80 column + screen. + + Interactive Unix V3.0 port -- mostly file name shortening, other + minor changes. Only preliminary, more work will be necessary. + + Add debugging option to not read EXINIT/.exrc information. + + Fix bug where re_compile printed an error message to the screen + when the user entered [ to an incremental search. + + Turn off screen beeps when incremental search is failing. + + Fix bug where the iclower option didn't trigger an RE recompilation. + + Fix bug where -t into an already locked file forced the user to wait + as if a startup command had failed. + + LynxOS port -- mostly adding <sys/types.h> even though <sys/param.h> + was already included. + + Fix ex output bug, where it appeared as if an ex command was skipped + due to flags not being cleared in the vs_msg() routine. + + Fix core dump when global command tried to switch screens. +1.64 -> 1.65 (05/13/96) + + Fix cscope <blank>-matching pattern to use extended RE's, and bug + that kept cscope from finding patterns containing <blank>s. + + Fix core dumps in both leftright and folded screens when tabstops + edit option value was large, and tab characters occurred as the last + character in the logical screen. + + Fix core dump where the second screen of a folded line wasn't + displayed correctly. + + Fix incremental search to match the current location for strings + starting with \< patterns. + + Fix bug where margins were ignored during replay of text input. + + Fix bug where motion components to shorter lines could lose because + the relative motion flags weren't ever set. This has been broken + forever, but the change almost certainly breaks something else -- I + have no idea what. + + Tags display: don't print the current entry separately, display + them all and add a trailing asterisk for the current one. + + Change the cscope add command to put the directory name through + standard file name expansion. + + Fix cscope use of buffers -- search commands weren't nul-terminated. +1.63 -> 1.64 (05/08/96) + + Add installation target to the Makefile. + + Add documentation on the new tags commands to the Vi Reference + Manual. + + Make the sidescroll edit option work again. + + Fix bug where messages output during startup by ex could be lost. + + Change ex/vi commands errors into beeps, unless the verbose edit + option is set -- there are too many macros that are expected to + eventually fail. This matches historic practice. + + Truncate paths in initial vi screen if they won't fit on one line. + + Make cursor position after filter write match historic practice. + + Force the user to wait if there is output and the user is leaving + the screen for any reason -- don't permit further ex commands. + + Don't use a <newline> character to scroll the screen when exiting, + scroll in the vi screen before endwin() is called. + + Fix bug where the column number could be incorrect because the old + screen wasn't updated after a screen split. + + Fix ex print routine to correctly specify print flags. + + Make -g/-O a separate make/configuration option. + + Fix bug where ex/vi messages weren't being joined. + + Fix bug where termcap strings were free'd twice. + + Fix bug where TI/TE still weren't working -- I didn't put in the + translation strings for BSD style curses. + + Fix bug where I misspelled the iclower edit option as icloser. +1.62 -> 1.63 (04/29/96) + + Robustness and type/lint fixes for the Tcl interface code. + + Fix core dump if TERM wasn't set or terminal type was unknown. + + Fix bug where combining ex commands that did/did not require an + ex screen would overwrite the command with the want-to-continue + messsage. + + Fix bug where the screen was never resolved if the user continued + entering ex commands using the : character, but then backspaced + over the prompt to quit or tried to edit their colon command-line + history. + + Fix bug where cursor wasn't placed over the ^ placeholder character + when quoting using the literal-next character. + + Fix bug where nvi under BSD style curses wasn't sending TI/TE termcap + strings when suspending the process. + + Rename mic again, to iclower. + + Fix bug where 'z' commands trailing / or ? commands weren't being + executed. + + Change incremental search to leave the cursor at its last position + when searching for something that was never found. + + Fix bug where search-with-confirmation from vi mode didn't position + the cursor correctly after displaying the confirm message. + + Fix bug where the "search wrapped" message was dependent on the + verbose edit option, which doesn't match historic practice. Change + search messages to be in inverse video. + + Fix bug where matched showmatch character wasn't being displayed + before the matching character was displayed. + + Another cursor update bug required a change to vs_paint(). + + Fix bug were initial line offset was wrong for the first split screen + (symptom is very strange column numbers and blank first line). + + Create filename "argument" lists when creating new screens. + + Fix bug where globals with associated commands that included both + buffer execution and other commands could fail to execute the latter. +1.61 -> 1.62 (04/22/96) + + Rename the "searchci" edit option to be "mic". + + Fix memory corruption in global commands ending in searches. + + Fix text resolution bug, corrected the cursor based on the + first line input, not the last. + + Rework the readonly edit option to match historic practice. + + Fix several minor incremental search bugs; make incremental + searches work in maps. + + Fix long-line core dump, where an incorrect screen map could be + used. +1.60 -> 1.61 (04/12/96) + + The cursor now ends up on the FIRST character of the put text for + all versions of the vi put commands, regardless of the source + of the text. This matches System III/V behavior and POSIX 1003.2. + + Fixed bug where showmatch messages were getting discarded. + + Minor Perl integration fixes. + + Integrate Cscope into the tags stack code -- major change. + + Fixed bug where ^T would drop core if returning to a temporary file. + + Changed vs_ routine to display ex output to replace tab characters + with spaces. + + Fix autoindent code to not back up past beginning of line when ^T + inserted into the middle of a line, i.e. offset != 0. + + Fix "notimeout" option, was being ignored, by a coding error. + + Fix showmatch code to never flash on a match if keys are waiting. + + Change the vi 'D' command to ignore any supplied count, matching + historic practice. + + Fix viusage for D, S, C and Y (the aliased vi commands). + + Fix the Perl5 configuration bug in the configuration script. + + Make file completion commands in empty lines work. + + Fix where the change to let vi use the default ex command structure + broke the ex specification of the script or source file name. + + Fix to free saved RE structures when screens exit. This is a major + RE change, which fixed several bugs in the handling of saved/subst + RE's. It's likely to have added new bugs, however. + + Add case-independent searching (the searchci edit option). + + Add incremental search (the searchincr edit option). + + Home the cursor when executing ex commands from vi. +1.59 -> 1.60 (03/29/96) + + Fix ":w >>" core dump, make that command match historic practice. + + Fix autoindent bug where the length of the line was incorrectly + calculated. + + Fix cursor bug where cursor could end up at the wrong place if the + movement keys were entered quickly enough. + + Change the read/write whirling indicator to appear only every 1/4 + second, clean up the appearance. + + Don't change the options real values until underlying functions + have returned OK -- fix "set tabstop=0" core dump. + + Fix resizing on Sun's: use SA_INTERRUPT to interrupt read calls. + + Fix two forward mark command bugs: one where it wasn't setting the + "favorite cursor" position because of the refresh optimization, + and one where it didn't have VM_RCM_SET set in the command flags + for some reason. + + Fix a bug were the 's' command on top of a <tab> didn't correctly + copy the buffer. + + Make :exusage command work for commands having optional leading + capital letters, e.g. Next. + + Previous changes broke the inital-matching-prefix code in the key + mapping part of v_event_get -- fix it, and fix the infinite macro + interrupt code at the same time. + + Add "cedit" edit option, so colon command-line editing is optional. + Change filec/cedit so that you can set them to the same character, + and they do cedit if in column 1, and filec otherwise. + + Fix "source of non-existent file" core dump. + + Fix bug where functions keys specified in startup information were + never resolved/activated. + + Fix v_txt bug where could infinitely loop if <escape> triggered an + abbreviation expansion. + + Move version string into VERSION file, out of ex_version.c +1.58 -> 1.59 + + Configuration changes, several minor bug fixes, including a few + core dumps. No functional changes. +1.57 -> 1.58 + + Fix the problem where colon command-line temporary files were + getting left in /tmp. + + Fix the configuration scripts to quit immediately if the Perl + or Tk/Tcl libraries are specified but not found. + + Several screen fixes -- the changes in 1.57 weren't as safe as + I thought. More specifically, the refresh-only-if-waiting change + caused a lot of problems. In general, fixing them should provide + even more speedup, but I'm nervous. + + Lots of changes in the configuration scripts, hopefully this is + just a first-round ordeal. + + Several other minor bug fixes. +1.56 -> 1.57 + + Add <esc> hook to colon commands, so you can edit colon commands. + + Add Perl5 interpreter. + + Change shell expansion code to fail if it doesn't read at least + one non-blank character from the shell. If the shell expansion + process fails, or if not at least one non-blank character, it + now displays an error message to the user. + + Rework the screen display so that it matches the historic vi screen + refreshes. + + Rework options processing: print/noprint are no longer cumulative, + provide more information to underlying edit options modules, move + O_MESG information into the screen specific code. + + Make file completion character settable. + + Rework terminal restart -- you can now use ":set term" to switch + terminal types. This cleaned up screen resizing considerably. + + Character display fix, display \177 as ^?, not in hex/octal. + + Tag search bug fix, don't repeat search if successful. + + Replace sys_siglist[] use with private sigmsg() routine. + + Fix core dump if illegal screenId specified to Tcl routine. + + Add get/set mark interface to Tcl Interpreter interface. + + Fix core dump if file expansion code stressed (re: filec edit option) + + Fix bug where filter commands in empty files couldn't find line 0. + + Switch to GNU autoconf 2.7 for configuration, delete nvi/PORT. + Many random portability fixes. +1.55 -> 1.56 (11/26/95) + + Bug fix release -- generally available beta release. +1.54 -> 1.55 (11/18/95) + + Bug fix release. + + Integrate Tcl interpreter. +1.53 -> 1.54 (11/11/95) + + Bug fix release. A major change in reworking the ex commands, when + called from the colon command line, to match historic practice, and + permit them to be entered repeatedly after ex has trashed the screen. + + Use restartable endwin() from System V curses to implement screen + + suspend. +1.52 -> 1.53 (10/29/95) + + Switch to using vendor's curses library for all ports. + + Back out the event driven version, leaving screen separation. + + User configuration of <escape> timeout (the escapetime edit option). + + Add Tcl/Tk screen support. + + Add file name completion (the filec edit option). + + Disallow access to outside applications (the secure edit option). +1.51 -> 1.52 (7/26/95) + + Minor cleanups, snapshotted for SMI. +1.50 -> 1.51 (7/05/95) + + Lots and lots of changes for event driven model, largely in moving + the boundary between the screen code and the editor up and down. + Private release for Rob Zimmermann @ Tartan and Bill Shannon @ SMI. +1.49 -> 1.50 Fri Jun 9 13:56:17 1995 + + Minor bug fixes for stability. + + Convert to an event driven model, with the usual Nachos Supreme + layering that results. This is a completely new version, nothing + done previously matters any more. +1.48 -> 1.49 Wed Mar 8 10:42:17 1995 + + Changes in 1.46 broke ^A processing. + + Add :previous to split screen commands. + + Lots o' random bug fixes -- passes purify testing again. +1.47 -> 1.48 Thu Feb 9 18:13:29 1995 + + Random bug fixes for 1.47. + + Move the FREF (file structure) list out of the screen and into + the global area. + + Change semantics to :E to more closely match :e -- ":E" joins + the current file, so ":E /tmp" is now the command to match the + historic ":split". +1.46 -> 1.47 Wed Feb 8 19:43:41 1995 + + All ex commands (including visual and excluding global and v) + are now supported inside ex global commands. + + Rework the append/change/insert commands to match historic + practice for text appended to the ex command line, and inside + of ex global commands. + + Restructure to make single-line screens work. + + Restructure to create curses independent screen routines. + + Restructure to permit Edit, Next, and Tag routines to create new + screens on the fly. + + Change hexadecimal output to be \x## instead of 0x##. + + Change ex commands run from vi to stay in vi mode for as long as + possible, i.e. until ex modifies the screen outside of the editor. +1.45 -> 1.46 Tue Jan 24 10:22:27 1995 + + Restructure to build as a library. +1.44 -> 1.45 Thu Jan 12 21:33:06 1995 + + Fix relative cursor motion to handle folded lines. + + Recompile the search pattern if applicable edit options change. + + Change +/-c command ordering to match historic practice. + + Rework autoindent code to always resolve preceeding <blank> + characters when a ^T or ^D are entered. + + Add the print/noprint edit options, so can now specify if + a character is printable. + + Change ex to run in canonical mode. + + Fix ex text input to support the number edit option. + + Vi text input fix for the R command to correctly restore + characters entered and then backspaced over. + + Several vi increment command fixes. +1.43 -> 1.44 + + Bug fix, vi was printing the last line number on the status line + at startup. Change to execute commands at first line set, i.e. + "vi -t tag -c cmd" executes cmd at the tag line, not EOF. +1.42 -> 1.43 Sat Dec 3 13:11:32 1994 + + Marks, SunOS signed comparison fix for 1.42. +1.41 -> 1.42 Fri Dec 2 20:08:16 1994 + + Make autowrite require the file not be read-only. + + Make the ex insert command work in empty files. + + Tab expansion is no longer limited to values < 20 (which matches + historical practice). + + Simplify (and fix limit detection for) the # command. It's no + longer possible to use the # command itself to repeat or modify + a previous # command, '.' is the only possibility. + + Lots more reworking of the ex addresses, putting ? and / into + the ex addressing code broke the world. + + Make the Put, Preserve and Print commands work (don't ask). + + Split stdout/stderr from shell expansions; stdout is expansion + text, stderr is entered on the message queue. +1.40 -> 1.41 Fri Nov 18 16:13:52 1994 + + Addition of a port for AUX 3.1 + + Addition of a message catalog for Russian. + + Make vi ? and / commands be true ex addresses (historic practice). + + Display the date first in vi -r recovery list. +1.39 -> 1.40 Mon Nov 14 10:46:56 1994 + + Two bug fixes for 1.39; -r option and v_change core dump. +1.38 -> 1.39 Sun Nov 13 18:04:08 1994 + + Ex substitution with confirmation now matches historic practice + (except that it still runs in raw mode, not cooked). + + Nvi now clears the screen before painting, if repainting the + entire screen. + + Fix final cursor position for put command entering text in a + single line. + + Change to break error message lines on the last <blank> in the + line. + + Always center the current line when returning to a previously + edited file or moving to a tag line that's not visible on the + screen. + + Change write of the current file using an explicit name or % to + match the semantics of :w<CR>, not :w file<CR>. + + Add command aliases to vi, and remap 6 historic commands to their + historic counterparts: D->d$, Y->y_, S->c_, C->c$, A->$a, I->^i. + + Match option display to historic practice; if boolean or numeric + options changed to default values, not displayed by default. + Nvi treats string options the same way, vi always displayed any + string option that was changed. + + Added lock edit option, if not set, no file locking is done. + + Rework ex to permit any ex command in the EXINIT variable or + exrc startup files. This fixes the bug were `vi +100 file' + painted the screen and then moved to line 100 and repainted. + (Yanked to SCCS ID 9.1.) + + Bug fix: could report file modified more recently than it was + written, incorrectly. + + Search fix: historically, motions with deltas were not corrected + to the previous/next line based on the starting/stopping column. + + Addressing fixes: make trailing non-existent addresses work, change + % to be text substitution, not a unique address (to follow future + POSIX). +1.37 -> 1.38 Mon Oct 24 12:51:58 1994 + + Scrolling fix; ^B can move to nonexistent lines. + + Fix to vi mapped commands; <escape> characters while already in + command mode did not historically cause the mapped characters to + be flushed. + + Add the backup edit option, automatically version edit files. + + Make it possible to edit files that db can't read, i.e. edit a + temporary file, with the correct file name. + + Only anchor the last line of the file to the bottom line of the + screen if there's half or less of a screen between the target + line and the end of the file. + + Fix wrapmargin text allocation bug. + + Fix ex put command to work in any empty file. + + Fix global command to handle move's to line 0 correctly. + + Regularize the yank cursor motions, several bug fixes for historic + practice. + + Fix N and n, when used as a motion command for the ! command, + repeat the last bang command instead of prompting for a new + one. + + Timeout maps beginning with <escape> quickly, instead of based + on the keytime option. + + Bug fix for wraplen option, wasn't triggered for input commands. +1.36 -> 1.37 Sun Oct 9 19:02:53 1994 + + Change PORT directories to install patches before distribution. + + Fix ^A to set search direction and pattern for consistency. + + Fold the showdirty option into the showmode option. + + Ex addressing fix: change search offset and line arguments (e.g. + the copy command) to be ex addressing offsets, matching historic + practice. + + Ex addressing fix: support ^ as an offset/flag equivalent to -. + + Ex addressing fix: historically, any missing address defaulted to + dot, e.g. "4,,," was the same as ".,.". + + Ex addressing fix: historically, <blank> separated numbers were + additive, e.g. "3 5p" displayed line 8. + + Ex addressing fix: make ';' as a range delimiter match historic + practice. + + Change nvi to exit immediately if stdout isn't a terminal. + + Change alternate file name behavior to match historic practice, + make the :write command set the current file name. + + Text input fix; input keys from a map, with an associated count, + weren't historically affected by the wrapmargin value. + + Add wraplen option, same as wrapmargin, but from the left-hand + column, not the right. + + Make ex address .<number> be equivalent to .+<number>, i.e. the + '+' is understood; matches historic practice, and it's widely + documented for ed(1). + + Input mode ^V^J historically mapped into a single ^J. + + Minor catalog changes, fixes; don't use 's' to pluralize words. +1.35 -> 1.36 Thu Sep 8 08:40:25 1994 + + Don't overwrite user's maps with standard (termcap) mappings. + + Make \ escape kill and erase characters in vi text input mode. + + Fix ^D autoindent bug by resolving leading <blank>s at ^D. + + Rework abbreviation tests (again!) to match historic practice. + + Change ^D/^U default scrolling value to be based on window option + value, not screen lines, correct scrolling option value, both to + match historic practice. NOTE: System V does this differently! +1.34 -> 1.35 Wed Aug 31 19:20:15 1994 + + Add the historic -l option. + + Message catalogs. + + Display global messages at each flush, just in case some are there. + + Fix global substitute code, `\\' wasn't handled correctly. + + Fix abbreviation code to use <blank>s as the preceding character. + + Fix ruler to display logical column, not physical column. + + Block signals when user issues :preserve command, so no race caused + by SIGHUP/SIGTERM. +1.33 -> 1.34 Wed Aug 17 14:37:32 1994 (PUBLICLY AVAILABLE VERSION) + + Back out sccsid string fix, it won't work on SunOS 4.1. +1.32 -> 1.33 Wed Aug 17 09:31:41 1994 (PUBLICLY AVAILABLE VERSION) + + Get back 5K of data space for the sccsid strings. + + Fix bug where cG fix in version 1.31 broke cw cursor positioning + when the change command extended the line. + + Fix core dump in map/seq code if character larger than 7 bits. + + Block signals when manipulating the SCR chains. + + Fix memory allocation for machines with multiple pointer sizes. +1.31 -> 1.32 Mon Aug 15 14:27:49 1994 + + Turn off recno mmap call for Solaris 2.4/SunOS 5.4. +1.30 -> 1.31 Sun Aug 14 13:13:35 1994 + + Fix bug were cG on the last line of a file wasn't done in line mode, + and where the cursor wasn't positioned correctly after exiting text + insert mode. + + Add termcap workaround to make function keys greater than 9 work + correctly (or fail if old-style termcap support). + + Change ex/vi to not flush mapped keys on error -- this is historic + practice, and people depended on it. + + Rework vi parser so that no command including a mapped key ever + becomes the '.' command, matching historic practice. + + Make <escape> cancellation in the vi parser match POSIX 1003.2. + + Fix curses bug where standout string was written for each standout + character, and where standout mode was never exited explicitly. + Fix bugs in curses SF/sf and SR/sr scrolling, as seen on Sun and + x86 consoles. + + The v/global commands execute the print command by default. + + The number option historically applies to ex as well as vi. +1.29 -> 1.30 Mon Aug 8 10:30:42 1994 + + Make first read into a temporary set the file's name. + + Permit any key to continue scrolling or ex commands -- this + allows stacked colon commands, and matches historic practice. + + Don't output normal ! command commentary in ex silent mode. + + Allow +/- flags after substitute commands, make line (flag) + offsets from vi mode match historic practice. + + Return <eof> to ex immediately, even if preceded by spaces. Rework + ex parser to do erase the prompt instead of depending on the print + routines to do it. Minor fixes to the ex parser for display of + default and scrolling commands. MORE EX PARSER CHANGES. +1.28 -> 1.29 Fri Aug 5 10:18:07 1994 + + Make the abbreviated ex delete command work (:dele---###lll for + example, is historically legal. + + When autoprint fires, multiple flags may be set, use ex_print + directly instead of the stub routines. + + Change v/global commands to turn off autoprint while running. + + Minor changes to make the ! command display match historic output. + + Rework the ex parser to permit multiple command separators without + commands -- MAJOR CHANGE, likely to introduce all sorts of new bugs. + + Fix cd command to expand argument in the context of each element + of the cdpath option, make relative paths always relative to the + current directory. + + Rework write/quit cases for temporary files, so that user's don't + discard them accidentally. + + Check for window size changes when continuing after a suspend. + + Fix memory problem in svi_screen, used free'd memory. + + Change the ex change, insert, append commands to match historic + cursor positions if no data entered by the user. + + Change ex format flags (#, l, p) to affect future commands, not + just the current one, to match historic practice. + + Make the user's EOF character an additional scroll character in ex. + + Fix ex ^D scrolling to be the value of the scroll option, not half + the screen. + + Fix buffer execution to match historic practice -- bugs where the + '*' command didn't work, and @<carriage-return> didn't work. + + Fix doubled reporting of deleted lines in filters. + + Rework the % ` / ? ( ) N n { and ^A commands to always cut into + numeric buffers regardless of the location or length of the cut. + This matches historic practice. + + Fix the { command to check the current line if the cursor doesn't + start on the first character of the line. + + Do '!' expansion in the ex read command arguments, it's historic + practice. In addition, it sets the last '!' command. +1.27 -> 1.28 Wed Jul 27 21:29:18 1994 + + Add support for scrolling using the CS and SF/sf/SR/sr termcap + strings to the 4BSD curses. + + Rework of getkey() introduced a bug where command interrupt put + nvi into an infinite loop. + + Piping through a filter historically cut the replaced lines into + the default buffer, although not the numeric ones. + + Read of a filter and !! historically moved to the first nonblank + of the resulting cursor line (most of the time). + + Rework cursor motion flags, to support '!' as a motion command. +1.26 -> 1.27 Tue Jul 26 10:27:58 1994 + + Add the meta option, to specify characters the shell will expand. + + Fix the read command to match historic practice, the white space + and bang characters weren't getting parsed correctly. + + Change SIGALRM handler to save and restore errno. + + Change SunOS include/compat.h to include <vfork.h> so that the + ex/filter.c code works again. + + Don't put lines deleted by the ex delete command into the numeric + buffers, matching historic practice. + + Fix; if appending to a buffer, default buffer historically only + references the appended text, not the resulting text. + + Support multiple, semi-colon separated search strings, and 'z' + commands after search strings. + + Make previous context mark setting match historic practice (see + docs/internals/context). + + Fix the set command to permit whitespace between the option and + the question mark, fix question marks in general. + + Fix bug where ex error messages could be accidentally preceded + by a single space. + + Fix bug where curses reorganization could lose screen specific + mappings as soon as any screen exited. + + Fix bug in paragraph code where invalid macros could be matched. + Make paragraph motions stop at formfeed (^L) characters. + + Change 'c' to match historic practice, it cut text into numeric + buffers. +1.25 -> 1.26 Tue Jul 19 17:46:24 1994 + + Ignore SIGWINCH if the screen size is unchanged; SunOS systems + deliver one when a screen is uncovered. + + Fix: don't permit a command with a motion component to wrap due + to wrapscan and return to the original cursor position. + + Fix: ^E wasn't beeping when reaching the bottom of the file. + + Fix bg/fg bug where tmp file exiting caused a NULL dereference. + + Rework file locking code to use fcntl(2) explicitly. + + Fix bug in section code where invalid macros could be matched. + + Fix bug where line number reset by vi's Q command. + + Add explicit character mode designation to character mode buffers. + + Add <sys/ioctl.h> include to sex/sex_window.c, needed by NET/2 + vintage systems. + + Change to always flush a character during suspend, 4BSD curses + has the optimization where it doesn't flush after a standend(). + + Fix bug on OSF1 where <curses.h> changes the values of VERASE, + VKILL and VWERASE to incorrect ones. + + Fix bug where optarg used incorrectly in main.c. + + Block all signals when acting on a signal delivery. + + Fix recovery bug where RCV_EMAIL could fire even if there wasn't + a backing file; format recovery message. +1.24 -> 1.25 Sun Jul 17 14:33:38 1994 + + Stop allowing keyboard suspends (^Z) in insert mode, it's hard + to get autowrite correct, and it's not historic practice. + + Fix z^, z+ to match historic practice. + + Bug in message handling, "vi +35 non-existent_file" lost the + status message because the "+35" pushed onto the stack erased + it. For now, change so that messages aren't displayed if there + are keys waiting -- may need to add a "don't-erase" bit to the + character in the stack instead. + + Bug in svi_msgflush(), where error messages could come out in + normal video. +1.23 -> 1.24 Sat Jul 16 18:30:18 1994 + + Fix core dump in exf.c, where editing a non-existent file and + exiting could cause already free'd memory to be free'd. + + Clean up numerous memory errors, courtesy of Purify. + + Change process wait code to fail if wait fails, and not attempt + to interpret the wait return information. + + Open recovery and DB files for writing as well as reading, System + V (fcntl) won't let you acquire LOCK_EX locks otherwise. + + Fix substitute bug where could malloc 0 bytes (AIX breaks). + + Permit the mapping of <carriage-return>, it's historic practice. + + Historic vi didn't eat <blank> characters before the force + flag, match historic practice. + + Bug in ex argument parsing, corrected for literal characters + twice. + + Delete screen specific maps when the screen closes. + + Move to the first non-<blank> in the line on startup; historic + practice. + + Change the ex visual command to move directly to a line if no + trailing 'z' command. + + Fix "[[" and "]]" to match historic practice (yet again...). + + Fix "yb" and "y{" commands to update the cursor correctly. + + Change "~<motion>" to match the yank cursor movement semantics + exactly. + + Move all of the curses related code into sex/svi -- major rework, + but should help in future ports. + + Fix bug in split code caused by new file naming code, where would + drop core when a split screen exited. + + Change svi_ex_write to do character display translation, so that + messages with file names in them are displayed correctly. + + Display the file name on split screens instead of a divider line. + + Fix move bug, wasn't copying lines before putting them. + + Fix bug were :n dropped core if no arguments supplied. + + Don't quote characters in executed buffer: "ifoo<esc>" should leave + insert mode after the buffer is executed. + + Tagpop and tagpush should set the absolute mark in case only moving + within a file. + + Skip leading whitespace characters before tags and cursor word + searches. + + Fix bug in ex_global where re_conv() was allocating the temporary + buffer and not freeing it. +1.22 -> 1.23: Wed Jun 29 19:22:33 1994 + + New <sys/cdefs.h> required "inline" to change to "__inline" + + Fix System V curses code for new ^Z support. + + Fix off-by-one in the move code, avoid ":1,$mo$" with only one + line in the buffer. + + Line orientation of motion commands was remembered too long, + i.e. '.' command could be incorrectly marked as line oriented. + + Move file modification time into EXF, so it's shared across + split screens. + + Put the prev[ious] command back in, people complained. + + Random fixes to next/prev semantics changed in 1.22. + + Historically vi doesn't only move to the last address if there's + ANYTHING after the addresses, e.g. ":3" moves to line 3, ":3|" + prints line 3. +1.21 -> 1.22: Mon Jun 27 11:01:41 1994 + + Make the line between split screens inverse video again. + + Delete the prev[ious] command, it's not useful enough to keep. + + Rework :args/file name handling from scratch -- MAJOR CHANGE, + likely to introduce all sorts of new bugs. + + Fix RE bug where no subexpressions in the pattern but there were + subexpressions referenced in the replacement, e.g. "s/XXX/\1/g". + + Change recovery to not leave unmodified files around after a + crash, by using the owner 'x' bit on unmodified backup files. + MAJOR CHANGE, the system recovery script has to change! + + Change -r option to delete recovery.* files that reference non- + existent vi.* files. + + Rework recovery locking so that fcntl(2) locking will work. + + Fix append (upper-case) buffers, broken by cut fixes. + + Fix | to not set the absolute motion mark. + + Read $HOME/.exrc file on startup if the effective user ID is + root. This makes running vi while su(1)'d work correctly. + + Use the full pathname of the file as the recovery name, not + just the last component. Matches historic practice. + + Keep marks in empty files from being destroyed. + + Block all caught signals before calling the DB routines. + + Make the line change report match historic practice (yanked + lines were different than everything else). + + Add section on multiple screens to the reference manual. + + Display all messages at once, combine onto a single line if + possible. Delete the trailing period from all messages. +1.20 -> 1.21: Thu May 19 12:21:58 1994 + + Delete the -l flag from the recover mail. + + Send the user email if ex command :preserve executed, this matches + historic practice. Lots of changes to the preserve and recovery + code, change preserve to snapshot files (again, historic practice). + + Make buffers match historic practice: "add logically stores text + into buffer a, buffer 1, and the unnamed buffer. + + Print <tab> characters as ^I on the colon command line if the + list option set. + + Adjust ^F and ^B scroll values in the presence of split screens + and small windows. + + Break msg* routines out from util.c into msg.c, start thinking + about message catalogs. + + Add tildeop set option, based on stevie's option of the same name. + Changes the ~ command into "[count] ~ motion", i.e. ~ takes a + trailing motion. + + Chose NOT to match historic practice on cursor positioning after + consecutive undo commands on a single line; see vi/v_undo.c for + the comment. + + Add a one line cache so that multiple changes to the same line + are only counted once (e.g. "dl35p" changes one line, not 35). + + Rework signals some more. Block file sync signals in vi routines + that interface to DB, so can sync the files at interrupt time. + Write up all of the signal handling arguments, see signal.c. +1.19 -> 1.20: Thu May 5 19:24:57 1994 + + Return ^Z to synchronous handling. See the dicussion in signal.c + and svi_screen.c:svi_curses_init(). + + Fix bug where line change report was wrong in util.c:msg_rpt(). +1.18 -> 1.19: Thu May 5 12:59:51 1994 + + Block DSUSP so that ^Y isn't delivered at SIGTSTP. + + Fix bug -- put into an empty file leaves the cursor at 1,0, + not the first nonblank. + + Fix bug were number of lines reported for the 'P' command was + off-by-one. + + Fix bug were 0^D wasn't being handled correctly. + + Delete remnants of ^Z as a raw character. + + Fix bug where if a map was an entire colon command, it may never + have been displayed. + + Final cursor position fixes for the vi T and t commands. + + The ex :next command took an optional ex command as it's first + argument similar to the :edit commands. Match historic practice. +1.17 -> 1.18: Wed May 4 13:57:10 1994 + + Rework curses information in the PORT/Makefile's. + + Minor fixes to ^Z asynchronous code. +1.16 -> 1.17: Wed May 4 11:15:56 1994 + + Make ex comment handling match historic practice. + + Make ^Z work asynchronously, we can no longer use the SIGTSTP + handler in the curses library. +1.15 -> 1.16: Mon May 2 19:42:07 1994 + + Make the 'p' and 'P' commands support counts, i.e. "Y10p" works. + + Make characters that map to themselves as the first part of the + mapping work, it's historic practice. + + Fix bug where "s/./\& /" discarded the space in the replacement + string. + + Add support for up/down cursor arrows in text input mode, rework + left/right support to match industry practice. + + Fix bug were enough character remapping could corrupt memory. + + Delete O_REMAPMAX in favor of setting interrupts after N mapped + characters without a read, delete the map counter per character. + MAJOR CHANGE. All of the interrupt signal handling has been + reworked so that interrupts are always turned on instead of + being turned on periodically, when an interruptible operation is + pending. + + Fix bug where vi wait() was interrupted by the recovery alarm. + + Make +cmd's and initial commands execute with the current line + set to the last line of the file. This is historic practice. + + Change "lock failed" error message to a file status message. + It always fails over NFS, and making all NFS files readonly + isn't going to fly. + + Use the historic line number format, but check for overflow. + + Fix bug where vi command parser ignored buffers specified as + part of the motion command. + + Make [@*]buffer commands on character mode buffers match historic + practice. + + Fix bug where the cmap/chf entries of the tty structure weren't + being cleared when new characters were read. + + Fix bug where the default command motion flags were being set + when the command was a motion component. + + Fix wrapmargin bug; if appending characters, and wrapmargin breaks + the line, an additional space is eaten. +1.14 -> 1.15: Fri Apr 29 07:44:57 1994 + + Make the ex delete command work in any empty file. + + Fix bug where 't' command placed the cursor on the character + instead of to its left. + + ^D and ^U didn't set the scroll option value historically. + Note, this change means that any user set value (e.g. 15^D) + will be lost when splitting the screen, since the split code + now resets the scroll value regardless. + + Fix the ( command to set the absolute movement mark. + + Only use TIOCGWINSZ for window information if SIGWINCH signal + caught. + + Delete the -l flag, and make -r work for multiple arguments. + Add the ex "recover[!] file" command. + + Switch into ex terminal mode and use the sex routines when + append/change/insert called from vi mode. + + Make ^F and ^B match historic practice. This required a fairly + extensive rework of the svi scrolling code. + + Cursor positioning in H, M, L, G (first non-blank for 1G) wasn't + being done correctly. Delete the SETLFNB flag. H, M, and L stay + logical movements (SETNNB) and G always moves to the first nonblank. + + System V uses "lines" and "cols", not "li" and "co", change as + necessary. Check termcap function returns for errors. + + Fix `<character> command to do start/end of line correction, + and to set line mode if starting and stopping at column 0. + + Fix bug in delete code where dropped core if deleted in character + mode to an empty line. (Rework the delete code for efficiency.) + + Give up on SunOS 4.1.X, and use "cc" instead of /usr/5bin/cc. + + Protect ex_getline routine from interrupted system calls (if + possible, set SA_RESTART on SIGALRM, too). + + Fix leftright scrolling bug, when moving to a shorter line. + + Do validity checking on the copy, move, t command target line + numbers. + + Change for System V % pattern broke trailing flags for empty + replacement strings. + + Fix bug when RCM flags retained in the saved dot structure. + + Make the ex '=' command work for empty files. + + Fix bug where special_key array was being free'd (it's no longer + allocated). + + Matches cut in line mode only if the starting cursor is at or + before the first nonblank in its line, and the ending cursor is + at or after the last nonblank in its line. + + Add the :wn command, so you can write a file and switch to a new + file in one command. + + Allow only a single key as an argument to :viusage. + + New movement code broke filter/paragraph operations in empty + files ("!}date" in an empty file was dropping core). +1.12 -> 1.14: Mon Apr 18 11:05:10 1994 (PUBLICLY AVAILABLE VERSION, 4.4BSD) + + Fix FILE structure leakage in the ex filter code. + + Rework suspend code for System V curses. Nvi has to do the + the work, there's no way to get curses to do it right. + + Revert SunOS 4.1.X ports to the distributed curses. There's + a bug in Sun's implementation that we can't live with. + + Quit immediately if row/column values are unreasonable. + + Fix the function keys to match vi historic behavior. + + Replace the echo/awk magic in the Makefile's with awk scripts. +1.11 -> 1.12: Thu Apr 14 11:10:19 1994 + + Fix bug where only the first vi key was checked for validity. + + Make 'R' continue to overwrite after a <carriage-return>. + + Only display the "no recovery" message once. + + Rework line backup code to restore the line to its previous + condition. + + Don't permit :q in a .exrc file or EXINIT variable. + + Fix wrapscan option bug where forward searches become backward + searches and do cursor correction accordingly. + + Change "dd" to move the cursor to the first non-blank on the line. + + Delete cursor attraction to the first non-blank, change non-blank + motions to set the most attractive cursor position instead. + + Fix 'r' substitute option to set the RE to the last RE, not the + last substitute RE. + + Fix 'c' and 'g' substitute options to always toggle, and fix + edcompatible option to not reset them. + + Display ex error messages in inverse video. + + Fix errorbells option to match historic practice. + + Delete fixed character display table in favor of table built based + on the current locale. + + Add ":set octal" option, that displays unknown characters as octal + values instead of the default hexadecimal. + + Make all command and text input modes interruptible. + + Fix ex input mode to display error messages immediately, instead + of waiting for the lines to be resolved. + + Fix bug where vi calling append could overwrite the command. + + Fix off-by-one in the ex print routine tab code. + + Fix incorrect ^D test in vi text input routines. + + Add autoindent support for ex text insert routines. + + Add System V substitute command replacement pattern semantics, + where '%' means the last replacement pattern. + + Fix bug that \ didn't escape newlines in ex commands. + + Regularize the names of special characters to CH_*. + + Change hex insert character from ^Vx<hex_char> to ^X<hex_char> + + Integrate System V style curses, so SunOS and Solaris ports can + use the native curses implementation. +1.10 -> 1.11: Thu Mar 24 16:07:45 EST 1994 (PUBLICLY AVAILABLE VERSION) + + Change H, M, and L to set the absolute mark, historical practice. + + Fix bug in stepping through multiple tags files. + + Add "remapmax" option that turns off map counts so you can remap + infinitely. If it's off, term_key() can be interrupted from the + keyboard, which will cause the buffers to flush. I also dropped + the default max number of remaps to 50. (Only Dave Hitz's TM + macros and maze appear to go over that limit.) + + Change :mkexrc to not dump w{300,1200,9600}, lisp options. + + Fix backward search within a line bug. + + Change all the includes of "pathnames.h" to use <>'s so that the + PORT versions can use -I. to replace it with their own versions. + + Make reads and writes interruptible. Rework code that enters and + leaves ex for '!' and filter commands, rework all interrupt and + timer code. + + Fix core dump when user displayed option in .exrc file. + + Fix bug where writing empty files didn't update the saved + modification time. + + Fix bug where /pattern/ addressing was always a backward search. + + Fix bug triggered by autoindent of more than 32 characters, where + nvi wasn't checking the right TEXT length. + + Fix bug where joining only empty lines caused a core dump. +1.09 -> 1.10: Sat Mar 19 15:40:29 EST 1994 + + Fix "set all" core dump. +1.08 -> 1.09: Sat Mar 19 10:11:14 EST 1994 + + If the tag's file path is relative, and it doesn't exist, check + relative to the tag file location. + + Fix ~ command to free temporary buffer on error return. + + Create vi.ref, a first cut at a reference document for vi. + The manual page and the reference document only document the + set options, so far. + + Fix 1G bug not always going to the first non-blank. + + Upgrade PORT/regex to release alpha3.4, from Henry Spencer. + + Add MKS vi's "cdpath" option, supporting a cd search path. + + Handle if search as a motion was discarded, i.e. "d/<erase>". + + Change nvi to not create multiple recovery files if modifying + a recovered file. + + Decide to ignore that the cursor is before the '$' when inserting + in list mode. It's too hard to fix. +1.07 -> 1.08: Wed Mar 16 07:37:36 EST 1994 + + Leftright and big line scrolling fixes. This meant more changes + to the screen display code, so there may be new problems. + + Don't permit search-style addresses until a file has been read. + + "c[Ww]" command incorrectly handled the "in whitespace" case. + + Fix key space allocation bug triggered by cut/paste under SunOS. + + Ex move command got the final cursor position wrong. + + Delete "optimize option not implemented" message. + + Make the literal-next character turn off mapping for the next + character in text input mode. +1.06 -> 1.07: Mon Mar 14 11:10:33 EST 1994 + + The "wire down" change in 1.05 broke ex command parsing, there + wasn't a corresponding change to handle multiple K_VLNEXT chars. + + Fix final position for vi's 't' command. +1.05 -> 1.06: Sun Mar 13 16:12:52 EST 1994 + + Wire down ^D, ^H, ^W, and ^V, regardless of the user's termios + values. + + Add ^D as the ex scroll command. + + Support ^Q as a literal-next character. + + Rework abbreviations to be delimited by any !inword() character. + + Add options description to the manual page. + + Minor screen cache fix for svi_get.c. + + Rework beautify option support to match historical practice. + + Exit immediately if not reading from a tty and a command fails. + + Default the SunOS 4.* ports to the distributed curses, not SMI's. +1.04 -> 1.05: Thu Mar 24 16:07:45 EST 1994 + + Make cursor keys work in input mode. + + Rework screen column code in vi curses screen. MAJOR CHANGE -- + after this, we'll be debugging curses screen presentation from + scratch. + + Explode include files in vi.h into the source files. +1.03 -> 1.04: Sun Mar 6 14:14:16 EST 1994 + + Make the ex move command keep the marks on the moved lines. + + Change resize semantics so you can set the screen size to a + specific value. A couple of screen fixes for the resize code. + + Fixes for foreground/background due to SIGWINCH. + + Complete rework of all of vi's cursor movements. The underlying + assumption in the old code was that the starting cursor position + was part of the range of lines cut or deleted. The command + "d[[" is an example where this isn't true. Change it so that all + motion component commands set the final cursor position separately + from the range, as it can't be done correctly later. This is a + MAJOR CHANGE -- after this change, we'll be debugging the cursor + positioning from scratch. + + Rewrite the B, b, E, e commands to use vi's getc() interface + instead of rolling their own. + + Add a second MARK structure, LMARK, which is the larger mark + needed by the logging and mark queue code. Everything else uses + the reworked MARK structure, which is simply a line/column pair. + + Rework cut/delete to not expect 1-past-the-end in the range, but + to act on text to the end of the range, inclusive. + + Sync on write's, to force NFS to flush. +1.01 -> 1.03: Sun Jan 23 17:50:35 EST 1994 (PUBLICLY AVAILABLE VERSION) + + Tag stack fixes, was returning to the tag, not the position from + which the user tagged. + + Only use from the cursor to the end of the word in cursor word + searches and tags. (Matches historical vi behavior.) + + Fix delete-last-line bug when line number option set. + + Fix usage line for :split command. + + If O_NUMBER set, long input lines would eventually fail, the column + count for the second screen of long lines wasn't set correctly. + + Fix for [[ reaching SOF with a column longer than the first line. + + Fix for multiple error messages if no screen displayed. + + Fix :read to set alternate file name as in historical practice. + + Fix cut to rotate the numeric buffers if line mode flag set. +1.00 -> 1.01: Wed Jan 12 13:37:18 EST 1994 + + Don't put cut items into numeric buffers if cutting less than + parts of two lines. +0.94 -> 1.00: Mon Jan 10 02:27:27 EST 1994 + + Read-ahead not there; BSD tty driver problem, SunOS curses + problem. + + Global command could error if it deleted the last line of + the file. + + Change '.' to only apply to the 'u' if entered immediately + after the 'u' command. "1pu.u.u. is still broken, but I + expect that it's going to be sacrificed for multiple undo. + + If backward motion on a command, now move to the point; get + yank cursor positioning correct. + + Rework cut buffers to match historic practice -- yank/delete + numeric buffers redone sensibly, ignoring historic practice. +0.92 -> 0.93: Mon Dec 20 19:52:14 EST 1993 + + Christos Zoulas reimplemented the script windows using pty's, + which means that they now work reasonably. The down side of + this is that almost all ports other than 4.4BSD need to include + two new files, login_tty.c and pty.c from the PORT/clib directory. + I've added them to the Makefiles. + + All calloc/malloc/realloc functions now cast their pointers, for + SunOS -- there should be far fewer warning messages, during the + build. The remaining messages are where CHAR_T's meet char *'s, + i.e. where 8-bit clean meets strcmp. + + The user's argument list handling has been reworked so that there + is always a single consistent position for use by :next, :prev and + :rewind. + + All of the historical options are now at least accepted, although + not all of them are implemented. (Edcompatible, hardtabs, lisp, + optimize, redraw, and slowopen aren't implemented.) + + The RE's have been reworked so that matches of length 0 are handled + in the same way as vi used to handle them. + + Several more mapping fixes and ex parser addressing fixes. |