142873SbosticThis is version 3 of the editor. It is too large to fit on a pdp-11 242873Sbosticunless you have overlay code. (Such code is available for v7 unix on 2bsd.) 342873Sbostic 442873SbosticVersion 2.13 corresponds to version 3 without the enhancements in 3. 542873SbosticThere is no reason to use 2.13 unless you have a pdp-11 that does not have 642873Sbosticoverlay software, since 3 contains all the bug fixes and some new features. 742873Sbostic 842873SbosticSpecial installation notes for this version. 942873Sbostic2) The include file varargs.h should be installed, as the printf here needs it. 1042873Sbostic3) The include file local/uparm.h should be installed, as ex_tune.h needs it. 1142873Sbostic The contents of this include file can be modified if you wish to place 1242873Sbostic the editor in a nonstandard location. 1342873Sbostic 1442873SbosticConditional compilation flags: 1542873Sbostic -DTRACE for debugging (wont then fit on an 11) 1642873Sbostic -DVFORK for UCB Vax/Unix with the vfork system call. 1742873Sbostic -DCHDIR compile in undocumented old chdir (cd) command 1842873Sbostic -DLISP compile in lisp hacks 1942873Sbostic -DUCVISUAL compile in code to handle \ escapes for visual on 2042873Sbostic upper case only terminals. gross. 2142873Sbostic -DCRYPT -x option to edit encrypted files 2242873Sbostic -DFLOCKFILE compile in advisory file locking ala 4.[23X] 23*42874Sbostic 24*42874Sbostic=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 25*42874Sbostic 26*42874SbosticVersion 3.7 October 16, 1981 27*42874Sbostic 28*42874Sbostic It is now possible to split lines with substitute commands from vi, 29*42874Sbostic by using ^V<return> in the rhs. This takes care of the last 30*42874Sbostic good reason for using ex command mode. 31*42874Sbostic 32*42874Sbostic Mode lines are now supported. Put a line containing 33*42874Sbostic ex: xxx : 34*42874Sbostic in the first or last 5 lines of the file, where xxx is any ex 35*42874Sbostic command you want executed when that file is read in. To make 36*42874Sbostic other programs happy, it should probably be inside a comment. 37*42874Sbostic You can use vi: as well as ex:. (Note: no space allowed 38*42874Sbostic between the "ex" and ":". The spaces around xxx are considered 39*42874Sbostic part of the command, and so are optional.) 40*42874Sbostic 41*42874Sbostic If there is a file .exrc in the current directory, it will be 42*42874Sbostic sourced when you enter vi, after your EXINIT or ~/.exrc. 43*42874Sbostic 44*42874Sbostic The changeable scrolling region of the vt100 is now used in 45*42874Sbostic place of insert line, resulting in much better performance. 46*42874Sbostic 47*42874Sbostic Vi uses the new AL, DL, LE, RI, DO, and UP (all upper case) 48*42874Sbostic termcap capabilities, which are parameterized versions of their 49*42874Sbostic lower case equivalents. This will results in better performance 50*42874Sbostic on ANSI terminals, and especially on the Tektronix 4025 which 51*42874Sbostic has parameterized local motions but cannot cursor address. 52*42874Sbostic 53*42874Sbostic Vi uses backtabs again. Now it knows how to handle backtabs on 54*42874Sbostic terminals that have tabs set at intervals other than 8, and it 55*42874Sbostic won't use backtabs if gtty indicates it can't use tabs. 56*42874Sbostic 57*42874Sbostic A bug causing <escape> <del> to core dump vi has been fixed. 58*42874Sbostic 59*42874Sbostic A bug causing writes to filters when editing encrypted files 60*42874Sbostic to write encrypted text has been fixed. 61*42874Sbostic 62*42874Sbostic A bug causing the message "substitution loop", when you enter a 63*42874Sbostic 1,$s/xxx/yyy/g with lots of changes, has been fixed. 64*42874Sbostic 65*42874Sbostic A bug causing the current directory to be chmodded to 0 if you 66*42874Sbostic set nomesg after starting up the editor has been fixed. Note 67*42874Sbostic that the nomesg option is intended for your EXINIT, since it only 68*42874Sbostic takes effect on entry to the editor. 69*42874Sbostic 70*42874Sbostic The eat newline glitch has been fixed so that vt100's and tab132's 71*42874Sbostic handle long lines correctly. 72*42874Sbostic 73*42874Sbostic Some internal changes have been made so that vi can run under UNIX 74*42874Sbostic on the Bell Labs 3B machine, the BBN C/70, and the IBM 370. 75*42874Sbostic 76*42874SbosticVersion 3.6 October 30, 1980 77*42874Sbostic 78*42874Sbostic A kernel problem on the V7 pdp-11 overlay systems which causes 79*42874Sbostic bad EMT traps to happen randomly, core dumping the editor, 80*42874Sbostic has been programmed around by catching EMT traps. 81*42874Sbostic 82*42874Sbostic A bug which prevented using a screen larger than 48 lines has 83*42874Sbostic been fixed. 84*42874Sbostic 85*42874Sbostic A bug which allowed you to set window to a value larger than 86*42874Sbostic your screen size has been fixed. 87*42874Sbostic 88*42874Sbostic The screen size limit on non-VM/Unix systems has been increased 89*42874Sbostic to 66 lines or 5000 characters, to allow the Ann Arbor Ambassador 90*42874Sbostic terminal to be used. 91*42874Sbostic 92*42874Sbostic A bug which caused hangups to be ignored on USG systems has 93*42874Sbostic been fixed. 94*42874Sbostic 95*42874Sbostic A bug which caused maps with multiple changes on multiple lines 96*42874Sbostic to mess up has been fixed. 97*42874Sbostic 98*42874Sbostic If you get I/O errors, the file is considered "not edited" so 99*42874Sbostic that you don't accidently clobber the good file with a munged 100*42874Sbostic up buffer. 101*42874Sbostic 102*42874Sbostic An inefficiency in 3.5 which caused the editor to always call 103*42874Sbostic ttyname has been fixed. 104*42874Sbostic 105*42874Sbostic A bug which prevented the "source" command from working in an 106*42874Sbostic EXINIT or from visual has been fixed. 107*42874Sbostic 108*42874Sbostic A bug which caused readonly to be cleared when reading from 109*42874Sbostic a writable file with "r" has been fixed. 110*42874Sbostic 111*42874Sbostic The name "suspend" has been made an alias for "stop". 112*42874Sbostic 113*42874Sbostic The stop command now once again works correctly from command mode. 114*42874Sbostic 115*42874Sbostic On a dumb terminal at 1200 baud, "slowopen" is now the default. 116*42874Sbostic 117*42874Sbostic A bug in the shell script "makeoptions" which searched for a 118*42874Sbostic string that appeared earlier in a comment has been fixed. 119*42874Sbostic 120*42874Sbostic A bug that caused an infinite loop when you did ":s/\</&/g" 121*42874Sbostic has been fixed. 122*42874Sbostic 123*42874Sbostic A bug that caused & with no previous substitution to give 124*42874Sbostic "re internal error" has been fixed. 125*42874Sbostic 126*42874Sbostic A bug in the binary search algorithm for tags which sometimes 127*42874Sbostic prevented the last tag in the file from being found has been fixed. 128*42874Sbostic 129*42874Sbostic Error messages from expreserve no longer output a linefeed, 130*42874Sbostic messing up the screen. 131*42874Sbostic 132*42874Sbostic The message from expreserve telling you a buffer was saved when 133*42874Sbostic your phone was hung up has be amended to say the editor was 134*42874Sbostic terminated, since a kill can also produce that message. 135*42874Sbostic 136*42874Sbostic The "directory" option, which has been broken for over 137*42874Sbostic a year, has been fixed. 138*42874Sbostic 139*42874Sbostic The "r" command no longer invokes input mode macros. 140*42874Sbostic 141*42874Sbostic A bug which caused strangeness if you set wrapmargin to 1 142*42874Sbostic and typed a line containing a backslash in column 80 has 143*42874Sbostic been fixed. 144*42874Sbostic 145*42874Sbostic A bug which caused the "r<cr>" at the wrapmargin column 146*42874Sbostic to mess up has been fixed. 147*42874Sbostic 148*42874Sbostic On terminals with both scroll reverse and insert line, 149*42874Sbostic the least expensive of the two will be used to scroll up. 150*42874Sbostic This is usually scroll reverse, which is much less annoying 151*42874Sbostic than insert line on terminals such as the mime I and mime 2a. 152*42874Sbostic 153*42874Sbostic A bug which caused vi to estimate the cost of cursor motion 154*42874Sbostic without taking into account padding has been fixed. 155*42874Sbostic 156*42874Sbostic The failure of the editor to check counts on ^F and ^B commands 157*42874Sbostic has been fixed. 158*42874Sbostic 159*42874Sbostic The "remap" option failed completely if it was turned off. 160*42874Sbostic This has been fixed. 161*42874Sbostic 162*42874Sbostic A check of the wrong limit on a buffer for the right hand side 163*42874Sbostic of substitutions has been fixed. Overflowing this buffer could 164*42874Sbostic produce a core dump. 165*42874Sbostic 166*42874Sbostic A bug causing the editor to go into insert mode if you typed 167*42874Sbostic return during an R command has been fixed. 168*42874Sbostic 169*42874Sbostic A bug preventing the + command from working when you edit a 170*42874Sbostic new file has been fixed by making it no longer an error to 171*42874Sbostic edit a new file (when you first enter the editor.) Instead 172*42874Sbostic you are told it is a new file. 173*42874Sbostic 174*42874Sbostic If an error happens when you are writing out a file, such as 175*42874Sbostic an interrupt, you are warned that the file is incomplete. 176*42874Sbostic 177*42874SbosticVersion 3.5 -- August 20, 1980 178*42874Sbostic 179*42874Sbostic The provisions for changing the window size with a numeric 180*42874Sbostic prefix argument to certain visual commands have been deleted. 181*42874Sbostic The correct way to change the window size is to use the z 182*42874Sbostic command, for example z5<cr> to change the window to 5 lines. 183*42874Sbostic 184*42874Sbostic The code to handle the -x (encryption) option has been made 185*42874Sbostic conditionally compiled, so that ex can run on an an 11/34 (!) 186*42874Sbostic with overlays. Since this code calls getpass, stdio was 187*42874Sbostic being pulled in even without VMUNIX being defined. The 188*42874Sbostic savings from not defining CRYPT are about 4K of text and 4.5K 189*42874Sbostic of bss. 190*42874Sbostic 191*42874Sbostic Bill Joy put in a buffering scheme under the VMUNIX flag so 192*42874Sbostic that up to 64K of file is edited in-core until you make enough 193*42874Sbostic changes to force a temp file sync. This makes entry into the 194*42874Sbostic editor much faster, but also makes vi much bigger. 195*42874Sbostic 196*42874Sbostic The source to ex is now sccs'ed. 197*42874Sbostic 198*42874Sbostic An undocumented "feature" which caused the ^^ command to return 199*42874Sbostic to the previous tag, if in the current file, instead of the 200*42874Sbostic previous file, has been removed. 201*42874Sbostic 202*42874Sbostic A bug which prevented ex from compiling on systems with the new 203*42874Sbostic tty driver but no process control (such as Cory) was fixed. 204*42874Sbostic 205*42874SbosticVersion 3.4 -- June 24, 1980 206*42874Sbostic 207*42874Sbostic The visual page motion commands ^F and ^B now treat any preceding 208*42874Sbostic counts as number of pages to move, instead of changes to the 209*42874Sbostic window size. That is, 2^F moves forward 2 pages. 210*42874Sbostic 211*42874Sbostic A :vi <file> command from visual mode is now treated the same 212*42874Sbostic as a :edit <file> or :ex <file> command. The meaning of the 213*42874Sbostic vi command from ex command mode is not affected. 214*42874Sbostic 215*42874Sbostic Provisions to handle the new process stopping features of the 216*42874Sbostic Berkeley TTY driver have been added. A new command, "stop", 217*42874Sbostic takes you out of the editor cleanly and efficiently, returning 218*42874Sbostic you to the shell. Resuming the editor puts you back in command 219*42874Sbostic or visual mode, as appropriate. If autowrite is set and there 220*42874Sbostic are outstanding changes, a write is done first unless you say 221*42874Sbostic "stop!". From visual mode, the command ^Z is the same as :stop. 222*42874Sbostic Note that if you have an arrow key that sends ^Z the stop function 223*42874Sbostic will take priority over the arrow function. If you have your 224*42874Sbostic "susp" character set to something besides ^Z, that key will be 225*42874Sbostic honored as well. 226*42874Sbostic 227*42874Sbostic A read only mode now lets you guarantee you won't clobber your 228*42874Sbostic file by accident. You can set the on/off option "readonly" (ro) 229*42874Sbostic and writes will fail unless you use an ! after the write. 230*42874Sbostic Commands such as x, ZZ, and autowrite, and in general anything 231*42874Sbostic that writes is affected. This option is turned on if you invoke 232*42874Sbostic ex with the -R flag. A new link called "view" has been created. 233*42874Sbostic View is just like vi but it sets readonly. 234*42874Sbostic 235*42874Sbostic The encryption code from the v7 editor is now part of ex. 236*42874Sbostic You invoke ex with the -x option and it will ask for a key, 237*42874Sbostic as ed. The ed "x" command (to enter encryption mode from 238*42874Sbostic within the editor) is not available. 239*42874Sbostic 240*42874Sbostic The editor now adopts the convention that a null string in the 241*42874Sbostic environment is the same as not being set. This applies to 242*42874Sbostic TERM, TERMCAP, and EXINIT. 243*42874Sbostic 244*42874Sbostic A word abbreviation mode is now available. You can define 245*42874Sbostic abbreviations with the abbreviate command 246*42874Sbostic :abbr foo find outer otter 247*42874Sbostic which maps "foo" to "find outer otter". Abbreviations can be 248*42874Sbostic turned off with the "unabbreviate" command. The syntax of these 249*42874Sbostic commands is identical to the map and unmap commands, except 250*42874Sbostic that the ! forms do not exist. Abbreviations are considered 251*42874Sbostic when in visual input mode only, and only affect whole words 252*42874Sbostic typed in, using the conservative definition. (Thus "foobar" 253*42874Sbostic will not be mapped as it would using map!) 254*42874Sbostic Abbreviate and unabbreviate can be abbreviated to "ab" and 255*42874Sbostic "una", respectively. 256*42874Sbostic 257*42874Sbostic The editor now supports certain terminals that use strings other 258*42874Sbostic then \r and \n for return and linefeed by implementing the cr 259*42874Sbostic and nl termcap options. (Thanks to UCLA for these enhancements). 260*42874Sbostic 261*42874Sbostic The termcap attribute ns is now checked for, and ex refuses to 262*42874Sbostic go into visual mode on such a terminal unless it has sf. 263*42874Sbostic 264*42874Sbostic Terminals that can cursor address but cannot go up a line 265*42874Sbostic now work in visual. 266*42874Sbostic 267*42874Sbostic If you change your start and stop characters to something other 268*42874Sbostic than the default ^S and ^Q, vi now turns them off. This causes 269*42874Sbostic people who change them to escape not to lose so badly. 270*42874Sbostic The quit character is once again turned off so that datamedias 271*42874Sbostic which send ^\ for the right arrow key work. 272*42874Sbostic 273*42874Sbostic The ~ command now repeats correctly with ".". 274*42874Sbostic 275*42874Sbostic If you type in an unmatched ) or } in showmatch mode, the editor 276*42874Sbostic will now beep to warn you about your mistake. The ) or } is 277*42874Sbostic still accepted. 278*42874Sbostic 279*42874Sbostic The way macros are undone has been improved considerably. 280*42874Sbostic The number of changes inside the macro is counted, and just 281*42874Sbostic before the second change the state before the macro is recreated 282*42874Sbostic internally and saved to allow the macro to be undoable as a unit. 283*42874Sbostic Hence, if the macro makes only one change the particular change is 284*42874Sbostic undone (which will probably not redraw the screen). If no changes 285*42874Sbostic are made (for example, the arrow keys) the previous thing that could 286*42874Sbostic be undone is not clobbered. 287*42874Sbostic 288*42874Sbostic The undomacro option has been deleted since it is no longer needed. 289*42874Sbostic 290*42874Sbostic Editor scripts can now contain comments. Begin the comments with " 291*42874Sbostic (double quote). Comments can be on their own line or come at the 292*42874Sbostic end of command lines. The comment continues to the end of the line. 293*42874Sbostic 294*42874Sbostic The 3rd version of the USG tty driver is now supported, making it 295*42874Sbostic possible on USG systems to interrupt redrawing the screen and to 296*42874Sbostic not flush output when interruptable commands take place. 297*42874Sbostic 298*42874Sbostic The rewind command has been added to the list of commands that 299*42874Sbostic the autowrite option knows about. 300*42874Sbostic 301*42874Sbostic The wrapmargin option is now usable. The way it works has been 302*42874Sbostic completely revamped. Now if you go past the margin (even in the 303*42874Sbostic middle of a word) the entire word is erased and rewritten on the 304*42874Sbostic next line. This changes the semantics of the number given to 305*42874Sbostic wrapmargin. 0 still means off. Any other number is still a 306*42874Sbostic distance from the right edge of the screen, but this location 307*42874Sbostic is now the right edge of the area where wraps can take place, 308*42874Sbostic instead of the left edge. Wrapmargin now behaves much like 309*42874Sbostic fill/nojustify mode in nroff. 310*42874Sbostic 311*42874Sbostic A bug on the USG system where hanging up the phone causes more 312*42874Sbostic than one SIGHUP to be sent has been compensated for. 313*42874Sbostic 314*42874Sbostic A bug which caused the :sh command not to send the vs and ti 315*42874Sbostic sequences when you returned has been fixed. 316*42874Sbostic 317*42874Sbostic A bug which caused a file that bombed out in the middle of 318*42874Sbostic an edit command to be considered modified has been fixed. 319*42874Sbostic 320*42874Sbostic A bug which caused the screen to be wrong after undoing a 321*42874Sbostic :move command has been fixed. 322*42874Sbostic 323*42874Sbostic A bug which messed up the buffer and the screen after 324*42874Sbostic undoing a :join command has been fixed. 325*42874Sbostic 326*42874Sbostic The source file ex_io.c has been split into ex_io.c and 327*42874Sbostic ex_unix.c to avoid a problem where many C compilers overflowed 328*42874Sbostic the symbol table. 329*42874Sbostic 330*42874Sbostic A bug which prevented turning off your prompt in your .exrc 331*42874Sbostic has been fixed. 332*42874Sbostic 333*42874Sbostic Some of the code internal to the editor has been rearranged 334*42874Sbostic and some comments added. 335*42874Sbostic 336*42874Sbostic The bug fix to the USG tty driver to output a null character 337*42874Sbostic as padding at 1200 baud has been improved to output a DEL 338*42874Sbostic at 1200 baud or above. 339*42874Sbostic 340*42874Sbostic Terminals with small screens (less than 20 columns or less 341*42874Sbostic than 5 lines) should now work. 342*42874Sbostic 343*42874Sbostic A bug which prevented you from entering the character DEL 344*42874Sbostic into the buffer if you changed your interrupt character to 345*42874Sbostic something else besides DEL has been fixed. 346*42874Sbostic 347*42874Sbostic A bug which caused the current line to be clobbered when 348*42874Sbostic you did a /, ?, or : command which mapped an input macro 349*42874Sbostic successfully has been fixed. 350*42874Sbostic 351*42874Sbostic If you map o to O and O to o and have remap set, the editor 352*42874Sbostic now catches the infinite loop. 353*42874Sbostic 354*42874Sbostic A put command after a macro now beeps instead of putting 355*42874Sbostic a copy of the whole buffer. (Note that the arrow keys 356*42874Sbostic on terminals are considered macros.) 357*42874Sbostic 358*42874Sbostic A bug which caused things like d) and d} to miss the last 359*42874Sbostic character when they should have deleted to the end of the 360*42874Sbostic buffer has been fixed. 361*42874Sbostic 362*42874Sbostic A bug which caused the last character to be lost when you 363*42874Sbostic read in a file with no newline at the end of the last line 364*42874Sbostic has been fixed. 365*42874Sbostic 366*42874Sbostic A bug that caused garbage to be in the buffer if the temp file 367*42874Sbostic overflowed has been fixed. (This only affected non-VMUNIX systems 368*42874Sbostic since the temp file cannot overflow on VMUNIX.) 369*42874Sbostic 370*42874Sbostic When a macro or global is undone, you no longer get picked up and 371*42874Sbostic dropped on line 1. 372*42874Sbostic 373*42874Sbostic The character | can now be escaped with \| in file names. 374*42874Sbostic 375*42874Sbostic A bug which prevented the confirm option to a substitution that 376*42874Sbostic was inside a source command has been fixed. 377*42874Sbostic 378*42874Sbostic A bug which caused the editor to not work if the tab stop size 379*42874Sbostic did not divide the screen width has been fixed. 380*42874Sbostic 381*42874Sbostic A bug on HP terminals that caused the screen to be messed up if 382*42874Sbostic you scrolled up something that began the same way as the echo line 383*42874Sbostic has been fixed. 384*42874Sbostic 385*42874Sbostic A macro bug which sometimes caused the next character after an 386*42874Sbostic escape to be ignored on an HP terminal has been fixed. 387*42874Sbostic 388*42874Sbostic A bug which caused unmap of strings with length 2 to fail has been 389*42874Sbostic fixed. 390*42874Sbostic 391*42874Sbostic A bug which left vi confused if you invoked a macro containing a 392*42874Sbostic quit to command mode and then did an undo has been fixed. 393*42874Sbostic 394*42874Sbostic An old ed bug which caused globals to fail when they did a substitute 395*42874Sbostic on the next line has been fixed. 396*42874Sbostic 397*42874Sbostic The % operator will now find matching square brackets the same way 398*42874Sbostic it does parentheses and braces. It will not display them in 399*42874Sbostic showmatch mode, however, and will not use a ] to match all ('s. 400*42874Sbostic 401*42874Sbostic Code has been added to handle the Beehive Superbee terminal, 402*42874Sbostic using f1 for escape and f2 for control C. 403*42874Sbostic 404*42874Sbostic The default value of the option shell is now taken from the 405*42874Sbostic environment variable SHELL, if present. 406*42874Sbostic 407*42874SbosticVersion 3.3 -- February 2, 1980 408*42874Sbostic 409*42874Sbostic The default window sizes have been changed. At 300 baud the 410*42874Sbostic window is now 8 lines (was 1/2 the screen size). At 1200 baud 411*42874Sbostic the window is now 16 lines (was 2/3 the screen size, which was 412*42874Sbostic usually also 16 for a typical 24 line CRT). At 9600 baud the 413*42874Sbostic window is still the full screen size. Any baud rate less than 414*42874Sbostic 1200 behaves like 300, any over 1200 like 9600. 415*42874Sbostic 416*42874Sbostic A new command mode command "x" (for "xit") has been added. This 417*42874Sbostic is the same as wq but will not bother to write if there have been 418*42874Sbostic no changes to the file. The command letter was chosen for 419*42874Sbostic convenience and compatibilty with hed. 420*42874Sbostic 421*42874Sbostic The command "ZZ" from vi is the same as ":x<cr>". This is 422*42874Sbostic the recommended way to leave the editor. Z must be typed twice 423*42874Sbostic since this is two easy to type by accident and has such severe 424*42874Sbostic effects if unintentional. 425*42874Sbostic 426*42874Sbostic The options w300, w1200, and w9600 can be set. They are synonyms 427*42874Sbostic for "window", but only apply at 300, 1200, or 9600 baud, resp. 428*42874Sbostic Thus you can specify you want a 12 line window at 300 baud and 429*42874Sbostic a 23 line window at 1200 baud with 430*42874Sbostic :set w300=12 w1200=23 431*42874Sbostic 432*42874Sbostic It is now possible to say 433*42874Sbostic :set window=5 434*42874Sbostic and get the effect the next time the screen is redrawn from scratch. 435*42874Sbostic (^L and Hit return to continue don't start from scratch.) 436*42874Sbostic This is sort of pointless, since both 437*42874Sbostic 5:<cr> 438*42874Sbostic and 439*42874Sbostic z5<cr> 440*42874Sbostic do the same thing with better results. 441*42874Sbostic 442*42874Sbostic The editor no longer uses nondestructive space, except when in 443*42874Sbostic insert mode. It instead prints the character it would be 444*42874Sbostic moving over. This is a real win on terminals that use an 445*42874Sbostic escape sequence to nd space. 446*42874Sbostic 447*42874Sbostic It is now possible from visual to string several search expressions 448*42874Sbostic together separated by semicolons the same as command mode. For 449*42874Sbostic example, you can say 450*42874Sbostic /foo/;/bar 451*42874Sbostic from visual and it will move to the first "bar" after the next "foo". 452*42874Sbostic This also works within one line. 453*42874Sbostic 454*42874Sbostic The option "mapinput" is dead. It has been replaced by a much 455*42874Sbostic more powerful mechanism: :map! (e.g. put an ! after the map). 456*42874Sbostic Map and unmap commands with ! apply only to input, others apply 457*42874Sbostic only to command mode. 458*42874Sbostic 459*42874Sbostic The new option "timeout" (default on) causes macros to time out 460*42874Sbostic after one second. Turn it off and they will wait forever. 461*42874Sbostic 462*42874Sbostic By using map! and setting notimeout, it is possible to get the 463*42874Sbostic effect of emacs abbreviation mode. Sanity checking is turned off 464*42874Sbostic for map when ! is present. This is a crude facility and does not 465*42874Sbostic take into account things like the abbreviation being part of a longer 466*42874Sbostic word. It also does not echo until it is satisfied. 467*42874Sbostic 468*42874Sbostic The new option "remap" (default on) causes the editor to attempt 469*42874Sbostic to map the result of a macro mapping again until the mapping fails. 470*42874Sbostic This makes it possible, say, to map q to # and #1 to something else 471*42874Sbostic and get q1 mapped to something else. Turning it off makes it possible 472*42874Sbostic to map ^L to l and map ^R to ^L without having ^R map to l. 473*42874Sbostic 474*42874Sbostic The new option "undomacro" (default on) makes it possible to undo 475*42874Sbostic macros as a unit. Leaving it off causes macros not to be treated 476*42874Sbostic specially. Macros with zero or one change work better with noum, 477*42874Sbostic with two or more changes better with um. This option may go away 478*42874Sbostic if it becomes unnecessary. 479*42874Sbostic 480*42874Sbostic The new (string) valued option "tags" allows you to specify a list 481*42874Sbostic of tag files, similar to the "path" variable of csh. The files 482*42874Sbostic are separated by spaces (which are entered preceded by a backslash) 483*42874Sbostic and are searched left to right. The default value is 484*42874Sbostic "tags /usr/lib/tags", which has the same effect as before. 485*42874Sbostic It is recommended that "tags" always be the first entry. 486*42874Sbostic On Ernie, /usr/lib/tags contains entries for the system defined 487*42874Sbostic library procedures from section 3 of the manual. 488*42874Sbostic 489*42874Sbostic ^R is now the same as ^L on terminals where the right arrow key 490*42874Sbostic sends ^L (The tvi and the adm 31). 491*42874Sbostic 492*42874Sbostic Looking for a tag now uses binary search. 493*42874Sbostic 494*42874Sbostic The "q" command from visual no longer works at all. You must 495*42874Sbostic use "Q" to get to ex command mode. 496*42874Sbostic 497*42874Sbostic A minor incompatibility with the v7 ed has been fixed. Previously, 498*42874Sbostic to do a global substitute with an escaped newline in the rhs, you 499*42874Sbostic had to put two \'s in ex and one in ed. Ex now accepts the single 500*42874Sbostic form as well as the double form. For example, instead of 501*42874Sbostic g/foo/s//foo\\ 502*42874Sbostic bar/g 503*42874Sbostic (which still works), you can now type, as in ed, 504*42874Sbostic g/foo/s//foo\ 505*42874Sbostic bar/g 506*42874Sbostic This means that the following ex command, which used to "work": 507*42874Sbostic g/foo/s//foo bar\ 508*42874Sbostic .+1,/mumble/d 509*42874Sbostic won't work anymore unless you put the trailing / on the substitution. 510*42874Sbostic This usage is pretty obscure anyway. 511*42874Sbostic 512*42874Sbostic Several bugs relating to undoing macros have been fixed. 513*42874Sbostic 514*42874Sbostic A bug which caused the command "g/pattern" to print an error 515*42874Sbostic message if "pattern" occurred on the last line has been fixed. 516*42874Sbostic 517*42874Sbostic If you reply ":" to "Hit return to continue", you will again be 518*42874Sbostic asked "Hit return to continue" after the next command finishes. 519*42874Sbostic 520*42874Sbostic Limits have been raised so that an Ann Arbor terminal can be used, 521*42874Sbostic and long tags can now be accomodated. 522*42874Sbostic 523*42874Sbostic The maximum length of a string valued option has been raised from 524*42874Sbostic 32 to 64, for the benefit of the "tags" option. 525*42874Sbostic 526*42874Sbostic It is now possible to search for an escape or delete using f, F, t, 527*42874Sbostic T, ;, and ,. These characters must be quoted with ^V. 528*42874Sbostic 529*42874Sbostic The option "ttytype" is now in correct alphabetical order. 530*42874Sbostic 531*42874Sbostic A bug that caused HP terminals to mess up in insert mode when inserting 532*42874Sbostic before a tab which follows 7 or fewer characters at the beginning of a 533*42874Sbostic line (such as a tags file) has been fixed. 534*42874Sbostic 535*42874Sbostic It is now possible to include control D in your EXINIT or .exrc. 536*42874Sbostic 537*42874Sbostic A bug which caused the screen to mess up when a glob (such as xx*) 538*42874Sbostic doesn't match anything has been fixed. 539*42874Sbostic 540*42874Sbostic The editor now checks for extra junk after a /r.e./ from visual 541*42874Sbostic (other than the allowed z command) and beeps if any is found. 542*42874Sbostic Previously it was just ignored. 543*42874Sbostic 544*42874Sbostic A bug that caused j and k (up and down) to behave strangely after 545*42874Sbostic an insertion has been fixed. 546*42874Sbostic 547*42874Sbostic A bug which causes term to be displayed incorrectly and which 548*42874Sbostic caused a crash when changing terminal type when there happened 549*42874Sbostic to be several |'s and a long string in genbuf has been fixed. 550*42874Sbostic This bug was introduced in ex 2.9. 551*42874Sbostic 552*42874Sbostic The patch for echo lines longer than 80 characters has been 553*42874Sbostic repaired to do "Hit return to continue" after such lines and 554*42874Sbostic print the entire output. 555*42874Sbostic 556*42874Sbostic A bug that caused a messed up screen after a :sh command from 557*42874Sbostic open mode has been fixed. 558*42874Sbostic 559*42874Sbostic A bug which caused a tag request for a nonexistant tag to leave 560*42874Sbostic the editor in nomagic mode has been fixed. 561*42874Sbostic 562*42874Sbostic A bug which caused strange behavior if there is no default file 563*42874Sbostic name when an autowrite save is attempted has been fixed. 564*42874Sbostic 565*42874Sbostic A bug which caused the cursor to go to the wrong position when 566*42874Sbostic ^^D or 0^D is entered from column 2 in autoindent mode on terminals 567*42874Sbostic that can backspace has been fixed. 568*42874Sbostic 569*42874SbosticVersion 3.2 -- January 4, 1980 570*42874Sbostic 571*42874Sbostic A bug that caused nomagic to be set if an error happened within 572*42874Sbostic a tag command has been fixed. 573*42874Sbostic 574*42874Sbostic A bug that caused put commands to beep after a macro containing 575*42874Sbostic an error has been fixed. 576*42874Sbostic 577*42874Sbostic The mapinput option has been placed in alphabetical order. 578*42874Sbostic 579*42874Sbostic A bug that caused undo to undo more than one macro invocation 580*42874Sbostic on the same line has been fixed. 581*42874Sbostic 582*42874Sbostic On non VM/UNIX systems, the screen size has been increased to 583*42874Sbostic allow a 40 X 80 Ann Arbor to be used. 584*42874Sbostic 585*42874SbosticVersion 3.2 -- December 28, 1980 586*42874Sbostic 587*42874Sbostic Several limits have been increased for VM/UNIX. Longer lines, 588*42874Sbostic more characters of file names, longer regular expressions, etc. 589*42874Sbostic Huge files can now be edited directly. Larger terminals (up to 590*42874Sbostic 66 lines) can be used. 591*42874Sbostic 592*42874Sbostic An internal change has been made for VM/UNIX that causes error 593*42874Sbostic messages to be stored directly instead of in a disk file. 594*42874Sbostic This should cause faster response to errors. 595*42874Sbostic 596*42874SbosticVersion 3.1.1 -- December 13, 1979 597*42874Sbostic 598*42874Sbostic A bug that caused nested macros not to be undoable has been fixed. 599*42874Sbostic 600*42874Sbostic A bug that caused pounding on the escape key on terminals with 601*42874Sbostic arrow keys that send escape sequences to cause undo to screw up 602*42874Sbostic has been fixed. 603*42874Sbostic 604*42874Sbostic It is now acknowledged that macros cannot contain the put command. 605*42874Sbostic This is due to the implementation of put - previously a put inside 606*42874Sbostic a macro dumped a copy of the buffer instead of the desired text and 607*42874Sbostic left the editor in a very strange state. Now such a put just beeps. 608*42874Sbostic 609*42874SbosticVersion 3.1 -- November 1, 1979 610*42874Sbostic 611*42874Sbostic Versions from 3.1 up are too large to fit on pdp-11's. 612*42874Sbostic (Special overlay software is expected to be available soon 613*42874Sbostic for v7 pdp-11 Unix that will make it fit.) Version 2.9 614*42874Sbostic is 3.1 with only the bug fixes and very few of the enhancements. 615*42874Sbostic 2.9 will fit on a pdp-11. Version 2.10 will come out and may 616*42874Sbostic correspond to 3.2. (It turned out to correspond to 3.3) 617*42874Sbostic 618*42874Sbostic For compatibility with ed: 's<newline>' may be used as a 619*42874Sbostic command and means '&'. If you set the option "edcompatible" 620*42874Sbostic (abbr "ed") the presense or abscence of g and c suffices is 621*42874Sbostic remembered and can be toggled by repeating the suffices. The 622*42874Sbostic suffix "r" makes the substitution into "~" instead of "&". 623*42874Sbostic 624*42874Sbostic A new command line option -w<n> sets the value of window before 625*42874Sbostic starting ex. Hence: 'vi -w5 file' makes a quick change to a file 626*42874Sbostic easier at 300 baud. 627*42874Sbostic 628*42874Sbostic Arrow keys on terminals that send more than 1 character now 629*42874Sbostic work. Home up keys are supported as are the four directions. 630*42874Sbostic Ex no longer looks at the ma= entry in termcap, but uses the 631*42874Sbostic ku, kd, kl, kr, and kh entries. (Note that the HP 2621 will 632*42874Sbostic turn on function key labels, and even then you have to hold 633*42874Sbostic shift down. To avoid turning on the labels, and to give up the 634*42874Sbostic function keys, use terminal type 2621nl instead of 2621.) 635*42874Sbostic 636*42874Sbostic A parameterless macro facility is included from visual. Briefly, 637*42874Sbostic there are two flavors of macros: 638*42874Sbostic a) Put the macro body in a buffer register, say x. Then 639*42874Sbostic type @x to invoke it. @ may be followed by another @ 640*42874Sbostic to repeat the last macro. 641*42874Sbostic This allows macros up to 512 chars. 642*42874Sbostic b) Use the map command from command mode (typically in the 643*42874Sbostic .exrc file) as follows: 644*42874Sbostic map lhs rhs 645*42874Sbostic where lhs will be mapped to rhs. 646*42874Sbostic There are restrictions: lhs's should be 1-keystroke 647*42874Sbostic (either 1 char or 1 function key) since they must be 648*42874Sbostic entered within 1 second. lhs no longer than 10 chars, 649*42874Sbostic rhs no longer than 100. To get " ", "\t", "|", or "\n" 650*42874Sbostic into lhs or rhs, escape them with ctrl V. (It may be 651*42874Sbostic necessary to escape the ctrl V with ctrl V if the map 652*42874Sbostic command is given from visual mode.) 653*42874Sbostic For 1 shot macros it is best to put the macro in a buffer register 654*42874Sbostic and map a key to '@r', since this will allow the macro to be edited. 655*42874Sbostic 656*42874Sbostic Macros can be deleted with 657*42874Sbostic unmap lhs 658*42874Sbostic 659*42874Sbostic The boolean option "mapinput" (mi) will, if on, cause macros to 660*42874Sbostic be mapped in input mode as well as command mode (in visual only). 661*42874Sbostic For example, you can define ctrl T to be four spaces with 662*42874Sbostic :map ^V^T_^V^V____ 663*42874Sbostic :set mi 664*42874Sbostic where underlines represent spaces and the ctrl V's are necessary 665*42874Sbostic to get ctrl chars and spaces past various levels, and make ^T be 666*42874Sbostic a software tab that even works in the middle of a line. 667*42874Sbostic 668*42874Sbostic If the lhs of a macro is "#0" through "#9", this maps the particular 669*42874Sbostic function key instead of the 2 char # sequence, if the terminal has 670*42874Sbostic function keys. This only works if termcap has function key entries 671*42874Sbostic for the particular terminal. For terminals without function keys, 672*42874Sbostic the sequence #x means function key x, as typed. As a special case, 673*42874Sbostic on terminals without function keys, the #x sequence need not be 674*42874Sbostic typed within one second. The character # can be changed by using 675*42874Sbostic a macro in the usual way: 676*42874Sbostic map ^V^I # 677*42874Sbostic to use tab, for example. (This won't affect the map command, which 678*42874Sbostic still uses #, but just the invocation from visual mode.) 679*42874Sbostic The undo command will undo an entire macro call as a unit. 680*42874Sbostic 681*42874Sbostic New commands in visual: ^Y and ^E. These glitch the screen up 682*42874Sbostic and down 1 line, respectively. They can be given counts, controlling 683*42874Sbostic the number of lines the screen is glitched. They differ from ^U 684*42874Sbostic and ^D in that the cursor stays over the same line in the buffer 685*42874Sbostic it was over before rather than staying in the same place on the 686*42874Sbostic screen. (^Y on a dumb terminal with a full screen will redraw the 687*42874Sbostic screen moving the cursor up a few lines.) If you're looking for 688*42874Sbostic mnemonic value in the names, try this: Y is right next to U and 689*42874Sbostic E is right next to D. 690*42874Sbostic 691*42874Sbostic More new commands in visual: '&' is a synonym for ':&<cr>'. 692*42874Sbostic '~' changes the case of the letter under the cursor and moves 693*42874Sbostic to the next character. 694*42874Sbostic 695*42874Sbostic Ex looks in your environment for EXINIT. If it finds it, that 696*42874Sbostic is used instead of looking for your .exrc. This should make 697*42874Sbostic entry into ex faster, along with the termlib feature of looking 698*42874Sbostic for a termcap entry in TERMCAP. 699*42874Sbostic 700*42874SbosticVersion 2.13 -- September 23, 1980 701*42874Sbostic 702*42874Sbostic The provisions for changing the window size with a numeric 703*42874Sbostic prefix argument to certain visual commands have been deleted. 704*42874Sbostic The correct way to change the window size is to use the z 705*42874Sbostic command, for example z5<cr> to change the window to 5 lines. 706*42874Sbostic 707*42874Sbostic An undocumented "feature" which caused the ^^ command to return 708*42874Sbostic to the previous tag, if in the current file, instead of the 709*42874Sbostic previous file, has been removed. 710*42874Sbostic 711*42874SbosticVersion 2.12 -- July 23, 1980 712*42874Sbostic 713*42874Sbostic A change was made to the sys_errlist array in ex_subr.c so that 714*42874Sbostic Berkeley V7 quotas will produce the right error message. 715*42874Sbostic 716*42874Sbostic A couple of minor bug fixes were made to get the editor to 717*42874Sbostic compile on version 6. The option to use 1K BUFSIZ has been 718*42874Sbostic deleted, since it is no longer used on our 1K system. 719*42874Sbostic 720*42874SbosticVersion 2.11 -- June 24, 1980 721*42874Sbostic 722*42874Sbostic The visual page motion commands ^F and ^B now treat any preceding 723*42874Sbostic counts as number of pages to move, instead of changes to the 724*42874Sbostic window size. That is, 2^F moves forward 2 pages. 725*42874Sbostic 726*42874Sbostic A :vi <file> command from visual mode is now treated the same 727*42874Sbostic as a :edit <file> or :ex <file> command. The meaning of the 728*42874Sbostic vi command from ex command mode is not affected. 729*42874Sbostic 730*42874Sbostic A read only mode now lets you guarantee you won't clobber your 731*42874Sbostic file by accident. You can set the on/off option "readonly" (ro) 732*42874Sbostic and writes will fail unless you use an ! after the write. 733*42874Sbostic Commands such as x, ZZ, and autowrite, and in general anything 734*42874Sbostic that writes is affected. This option is turned on if you invoke 735*42874Sbostic ex with the -R flag. A new link called "view" has been created. 736*42874Sbostic View is just like vi but it sets readonly. 737*42874Sbostic 738*42874Sbostic The editor now supports certain terminals that use strings other 739*42874Sbostic then \r and \n for return and linefeed by implementing the cr 740*42874Sbostic and nl termcap options. (Thanks to UCLA for these enhancements). 741*42874Sbostic 742*42874Sbostic The termcap attribute ns is now checked for, and ex refuses to 743*42874Sbostic go into visual mode on such a terminal unless it has sf. 744*42874Sbostic 745*42874Sbostic If you change your start and stop characters to something other 746*42874Sbostic than the default ^S and ^Q, vi now turns them off. This causes 747*42874Sbostic people who change them to escape not to lose so badly. 748*42874Sbostic The quit character is once again turned off so that datamedias 749*42874Sbostic which send ^\ for the right arrow key work. 750*42874Sbostic 751*42874Sbostic If you type in an unmatched ) or } in showmatch mode, the editor 752*42874Sbostic will now beep to warn you about your mistake. The ) or } is 753*42874Sbostic still accepted. 754*42874Sbostic 755*42874Sbostic Editor scripts can now contain comments. Begin the comments with " 756*42874Sbostic (double quote). Comments can be on their own line or come at the 757*42874Sbostic end of command lines. The comment continues to the end of the line. 758*42874Sbostic 759*42874Sbostic The 3rd version of the USG tty driver is now supported, making it 760*42874Sbostic possible on USG systems to interrupt redrawing the screen and to 761*42874Sbostic not flush output when interruptable commands take place. 762*42874Sbostic 763*42874Sbostic The rewind command has been added to the list of commands that 764*42874Sbostic the autowrite option knows about. 765*42874Sbostic 766*42874Sbostic A bug on the USG system where hanging up the phone causes more 767*42874Sbostic than one SIGHUP to be sent has been compensated for. 768*42874Sbostic 769*42874Sbostic A bug which caused a file that bombed out in the middle of 770*42874Sbostic an edit command to be considered modified has been fixed. 771*42874Sbostic 772*42874Sbostic The source file ex_io.c has been split into ex_io.c and 773*42874Sbostic ex_unix.c to avoid a problem where many C compilers overflowed 774*42874Sbostic the symbol table. 775*42874Sbostic 776*42874Sbostic A bug which prevented turning off your prompt in your .exrc 777*42874Sbostic has been fixed. 778*42874Sbostic 779*42874Sbostic Some of the code internal to the editor has been rearranged 780*42874Sbostic and some comments added. 781*42874Sbostic 782*42874Sbostic The bug fix to the USG tty driver to output a null character 783*42874Sbostic as padding at 1200 baud has been improved to output a DEL 784*42874Sbostic at 1200 baud or above. 785*42874Sbostic 786*42874Sbostic Terminals with small screens (less than 20 columns or less 787*42874Sbostic than 5 lines) should now work. 788*42874Sbostic 789*42874Sbostic A bug which prevented you from entering the character DEL 790*42874Sbostic into the buffer if you changed your interrupt character to 791*42874Sbostic something else besides DEL has been fixed. 792*42874Sbostic 793*42874Sbostic A bug which caused things like d) and d} to miss the last 794*42874Sbostic character when they should have deleted to the end of the 795*42874Sbostic buffer has been fixed. 796*42874Sbostic 797*42874Sbostic A bug which caused the last character to be lost when you 798*42874Sbostic read in a file with no newline at the end of the last line 799*42874Sbostic has been fixed. 800*42874Sbostic 801*42874Sbostic A bug that caused garbage to be in the buffer if the temp file 802*42874Sbostic overflowed has been fixed. 803*42874Sbostic 804*42874Sbostic The character | can now be escaped with \| in file names. 805*42874Sbostic 806*42874Sbostic A bug which caused the editor to not work if the tab stop size 807*42874Sbostic did not divide the screen width has been fixed. 808*42874Sbostic 809*42874Sbostic A bug on HP terminals that caused the screen to be messed up if 810*42874Sbostic you scrolled up something that began the same way as the echo line 811*42874Sbostic has been fixed. 812*42874Sbostic 813*42874Sbostic An old ed bug which caused globals to fail when they did a substitute 814*42874Sbostic on the next line has been fixed. 815*42874Sbostic 816*42874Sbostic The % operator will now find matching square brackets the same way 817*42874Sbostic it does parentheses and braces. It will not display them in 818*42874Sbostic showmatch mode, however, and will not use a ] to match all ('s. 819*42874Sbostic 820*42874Sbostic Ex looks in your environment for EXINIT. If it finds it, that 821*42874Sbostic is used instead of looking for your .exrc. This should make 822*42874Sbostic entry into ex faster, along with the termlib feature of looking 823*42874Sbostic for a termcap entry in TERMCAP. 824*42874Sbostic 825*42874Sbostic Internally, it is possible to turn off about a dozen different 826*42874Sbostic options when compiling the editor to make it fit in 64K. 827*42874Sbostic See the makefile for a list of options. 828*42874Sbostic 829*42874SbosticVersion 2.10 -- February 2, 1980 (Corresponds to 3.3) 830*42874Sbostic 831*42874Sbostic The default window sizes have been changed. At 300 baud the 832*42874Sbostic window is now 8 lines (was 1/2 the screen size). At 1200 baud 833*42874Sbostic the window is now 16 lines (was 2/3 the screen size, which was 834*42874Sbostic usually also 16 for a typical 24 line CRT). At 9600 baud the 835*42874Sbostic window is still the full screen size. Any baud rate less than 836*42874Sbostic 1200 behaves like 300, any over 1200 like 9600. 837*42874Sbostic 838*42874Sbostic A new command mode command "x" (for "xit") has been added. This 839*42874Sbostic is the same as wq but will not bother to write if there have been 840*42874Sbostic no changes to the file. The command letter was chosen for 841*42874Sbostic convenience and compatibilty with hed. 842*42874Sbostic 843*42874Sbostic The command "ZZ" from vi is the same as ":x<cr>". This is 844*42874Sbostic the recommended way to leave the editor. Z must be typed twice 845*42874Sbostic since this is two easy to type by accident and has such severe 846*42874Sbostic effects if unintentional. 847*42874Sbostic 848*42874Sbostic The options w300, w1200, and w9600 can be set. They are synonyms 849*42874Sbostic for "window", but only apply at 300, 1200, or 9600 baud, resp. 850*42874Sbostic Thus you can specify you want a 12 line window at 300 baud and 851*42874Sbostic a 23 line window at 1200 baud with 852*42874Sbostic :set w300=12 w1200=23 853*42874Sbostic 854*42874Sbostic The "q" command from visual no longer works at all. You must 855*42874Sbostic use "Q" to get to ex command mode. 856*42874Sbostic 857*42874Sbostic The editor no longer uses nondestructive space, except when in 858*42874Sbostic insert mode. It instead prints the character it would be 859*42874Sbostic moving over. This is a real win on terminals that use an 860*42874Sbostic escape sequence to nd space. 861*42874Sbostic 862*42874Sbostic A minor incompatibility with the v7 ed has been fixed. Previously, 863*42874Sbostic to do a global substitute with an escaped newline in the rhs, you 864*42874Sbostic had to put two \'s in ex and one in ed. Ex now accepts the single 865*42874Sbostic form as well as the double form. For example, instead of 866*42874Sbostic g/foo/s//foo\\ 867*42874Sbostic bar/g 868*42874Sbostic (which still works), you can now type, as in ed, 869*42874Sbostic g/foo/s//foo\ 870*42874Sbostic bar/g 871*42874Sbostic This means that the following ex command, which used to "work": 872*42874Sbostic g/foo/s//foo bar\ 873*42874Sbostic .+1,/mumble/d 874*42874Sbostic won't work anymore unless you put the trailing / on the substitution. 875*42874Sbostic This usage is pretty obscure anyway. 876*42874Sbostic 877*42874Sbostic A bug which caused the command "g/pattern" to print an error 878*42874Sbostic message if "pattern" occurred on the last line has been fixed. 879*42874Sbostic 880*42874Sbostic Limits have been raised so that an Ann Arbor terminal can be used, 881*42874Sbostic and long tags can now be accomodated. 882*42874Sbostic 883*42874Sbostic A bug that caused HP terminals to mess up in insert mode when inserting 884*42874Sbostic before a tab which follows 7 or fewer characters at the beginning of a 885*42874Sbostic line (such as a tags file) has been fixed. 886*42874Sbostic 887*42874Sbostic A bug which causes term to be displayed incorrectly and which 888*42874Sbostic caused a crash when changing terminal type when there happened 889*42874Sbostic to be several |'s and a long string in genbuf has been fixed. 890*42874Sbostic This bug was introduced in ex 2.9. 891*42874Sbostic 892*42874Sbostic The patch for echo lines longer than 80 characters has been 893*42874Sbostic repaired to do "Hit return to continue" after such lines and 894*42874Sbostic print the entire output. 895*42874Sbostic 896*42874Sbostic A bug that caused a messed up screen after a :sh command from 897*42874Sbostic open mode has been fixed. 898*42874Sbostic 899*42874Sbostic A bug which caused a tag request for a nonexistant tag to leave 900*42874Sbostic the editor in nomagic mode has been fixed. 901*42874Sbostic 902*42874Sbostic A bug which caused strange behavior if there is no default file 903*42874Sbostic name when an autowrite save is attempted has been fixed. 904*42874Sbostic 905*42874Sbostic A bug which caused the cursor to go to the wrong position when 906*42874Sbostic ^^D or 0^D is entered from column 2 in autoindent mode on terminals 907*42874Sbostic that can backspace has been fixed. 908*42874Sbostic 909*42874Sbostic In order to get 2.10 to fit on a v7 pdp-11, the following features 910*42874Sbostic have been deleted: 911*42874Sbostic The MASTERTAGS feature (undocumented use of /usr/lib/tags 912*42874Sbostic as an alternate tag file) 913*42874Sbostic Checking that a file being read in is an ascii file. 914*42874Sbostic Turning off ^Q/^S on a v7 system. 915*42874Sbostic 916*42874SbosticVersion 2.9 -- November 1, 1979 917*42874Sbostic 918*42874Sbostic The meanings of semicolon and newline, broken in 2.8, have been fixed. 919*42874Sbostic Newline with two arguments still prints the range, unless a semicolon 920*42874Sbostic was present, in which case only the last line is printed. Semicolon 921*42874Sbostic otherwise behaves as in ed (and ex 2.7). 922*42874Sbostic 923*42874Sbostic For compatibility with ed: '%' is an abbreviation for '1,$'. 924*42874Sbostic The default starting line for 'z' is '.+1' instead of '.'. 925*42874Sbostic If 'z' is followed by a number, this number is remembered 926*42874Sbostic (by setting the scroll option). 927*42874Sbostic 928*42874Sbostic The + options to the command line invocation and to the edit 929*42874Sbostic command now also work for the next command. In addition, the 930*42874Sbostic text after the + is no longer limited to a line number or 931*42874Sbostic / or ? search string, but can be any single command. (It cannot 932*42874Sbostic contain spaces except on command line invocation, and then must 933*42874Sbostic be quoted to make the shell happy.) The only special case is 934*42874Sbostic where + is used by itself - this is the same as +$. 935*42874Sbostic 936*42874Sbostic The way window sizes and scrolling commands are based on the options 937*42874Sbostic window and scroll has been rearranged. All command mode scrolling 938*42874Sbostic commands (z and ctrl D) are based on scroll: ^D moves scroll lines, 939*42874Sbostic z moves scroll*2 lines. Everything in visual (^D, ^U, ^F, ^B, z, 940*42874Sbostic window sizes in general) are based on the window option. The 941*42874Sbostic defaults are arranged so that everything seems as before, but 942*42874Sbostic on hardcopy terminals at 300 baud the default for scroll is 943*42874Sbostic 11 instead of 6. 944*42874Sbostic 945*42874Sbostic Whether ex prompts for commands now depends on the setting of the 946*42874Sbostic prompt variable, so inside script you can say 'set prompt' and 947*42874Sbostic get ex to prompt. 948*42874Sbostic 949*42874Sbostic Tags are now searched for in nomagic mode instead of the funny 950*42874Sbostic mode where magic characters were impossible to get. 951*42874Sbostic 952*42874Sbostic Paragraphs and sections with one letter names (such as those 953*42874Sbostic used by PWB/MM) now work - use a space (escaped by a backslash) 954*42874Sbostic for the second letter. Default paragraphs and sections are included 955*42874Sbostic for both MM and MS. (Thanks to adb for this) 956*42874Sbostic 957*42874Sbostic A bug involving 16 bit arithmetic on a vax for the yank command 958*42874Sbostic has been fixed. 959*42874Sbostic 960*42874Sbostic The text of the mailed message from expreserve has been improved 961*42874Sbostic slightly. 962*42874Sbostic 963*42874Sbostic The editor now always turns off the XTABS stty bit when in visual 964*42874Sbostic mode, making terminals that do special things with ^I work. 965*42874Sbostic 966*42874Sbostic The editor now knows about terminals with destructive tabs, like 967*42874Sbostic the teleray 1061, having the xt option. 968*42874Sbostic 969*42874Sbostic A bug that caused going past column 80 on terminals with insert line 970*42874Sbostic but not insert char (like the mime, h1500, or i100) to mess up the 971*42874Sbostic screen has been fixed. 972*42874Sbostic 973*42874Sbostic A bug on 2621's that causes lines longer than 80 chars long with 974*42874Sbostic embedded tabs to mess up when a tab was inserted has been fixed. 975*42874Sbostic 976*42874Sbostic A bug that caused the wrong line to suddenly appear under very 977*42874Sbostic rare circumstances involving small window sizes and long lines 978*42874Sbostic where a search left the cursor on the top line of the screen 979*42874Sbostic has been fixed. 980*42874Sbostic 981*42874Sbostic The bug that caused inverse video to sometimes be scrolled up 982*42874Sbostic into the file from an error message has been fixed. 983*42874Sbostic 984*42874Sbostic The join command has been fixed, so that '3,3j' no longer joins 985*42874Sbostic lines 3 and 4. ('3j' still does.) Thus, '/a/;/b/-j' works right 986*42874Sbostic even if b is found on the line after a. 987*42874Sbostic 988*42874Sbostic ex -v now finds your .exrc. In related changes, the default in 989*42874Sbostic vi is now magic and nobeautify. 990*42874Sbostic 991*42874Sbostic If your buffer is empty, ex won't refuse to do an edit, quit, 992*42874Sbostic or tag command because you haven't done a write. 993*42874Sbostic 994*42874Sbostic A bug causing visual undo not to work after '1,$!cat' has been 995*42874Sbostic fixed. 996*42874Sbostic 997*42874Sbostic Ex now decides for itself whether to use CBREAK or TIOCSETN 998*42874Sbostic by whether they are defined in <sgtty.h>. This eliminates much 999*42874Sbostic of the #ifdef USG or V6 lines. One USG line remains due to a bug 1000*42874Sbostic in the USG tty driver at 1200 baud. 1001*42874Sbostic Note that this will mess up if you use libretro because <sgtty.h> 1002*42874Sbostic has CBREAK and TIOCSETN defined. Take these out of sgtty.h to fix this. 1003*42874Sbostic 1004*42874Sbostic Termcap options TI and TE have been added. These strings are 1005*42874Sbostic respectively output at the beginning and end of the editing session. 1006*42874Sbostic 1007*42874Sbostic Values for the set command may now include `\ ' for space and 1008*42874Sbostic control characters. 1009*42874Sbostic 1010*42874Sbostic Changes have been made to /etc/termcap (several new fields have 1011*42874Sbostic been added) and to termlib (it now looks for TERMCAP in the environment 1012*42874Sbostic and treats it as a termcap entry if the name of the terminal mentioned 1013*42874Sbostic is the same as TERM and the entry doesn't start with a slash. 1014*42874Sbostic If it starts with a slash it is treated as a filename, as before. 1015*42874Sbostic Termcap also checks the 512 byte entry limit and skips lines beginning 1016*42874Sbostic with # as comments. It is possible to define one terminal as being 1017*42874Sbostic similar to another one with a few differences without making two 1018*42874Sbostic copies of the description.) New termcap fields: 1019*42874Sbostic ti terminal initialization string. This should be sent 1020*42874Sbostic out at the beginning of any program that addresses 1021*42874Sbostic the cursor. 1022*42874Sbostic te Like te but at end of the program. 1023*42874Sbostic (Thanks to adb for these two fields) 1024*42874Sbostic us Start underlining. 1025*42874Sbostic ue End underlining. 1026*42874Sbostic uc Underline one character & move over it. 1027*42874Sbostic hc (bool) terminal is hardcopy 1028*42874Sbostic ns (bool) terminal doesn't scroll (tektronix) 1029*42874Sbostic ff (bool) hardcopy knows ^L means formfeed. 1030*42874Sbostic pt (bool) hardware tabs, maybe set by is 1031*42874Sbostic xt (bool) destructive tabs (teleray 1061) 1032*42874Sbostic ku sequence sent by keypad "up" arrow 1033*42874Sbostic kd "down" arrow 1034*42874Sbostic kl "left" arrow 1035*42874Sbostic kr "right" arrow 1036*42874Sbostic kh "home" arrow 1037*42874Sbostic ks sequence to make keypad send these codes 1038*42874Sbostic ke sequence to make keypad not send these codes. 1039*42874Sbostic k0-k9 sequences sent by up to 10 "other" keys 1040*42874Sbostic l0-l9 labels on k0-k9. If omitted, default = "f0" - "f9". 1041*42874Sbostic ko additional keys on keypad, in terms of their 1042*42874Sbostic termcap entry. For example, if "home down" and "clear" 1043*42874Sbostic are present and send the same codes as ll and cl, use 1044*42874Sbostic :ko=cl,ll: 1045*42874Sbostic tc This entry is a list of differences from the named 1046*42874Sbostic entry. THIS MUST BE THE LAST FIELD. Example: hp2621 1047*42874Sbostic with no ks or ke (e.g. null string): 1048*42874Sbostic hn|hp2621nl:ks@:ke@:tc=hp2621: 1049*42874Sbostic The @ cancels the string even if it is defined later. 1050*42874Sbostic 1051*42874SbosticVersion 2.8 -- July 18, 1979 1052*42874Sbostic 1053*42874Sbostic It is now possible to backspace over the first character (:, /, or ?) 1054*42874Sbostic on the echo line from visual. The effect is as though delete were hit 1055*42874Sbostic except the bell isn't rung. 1056*42874Sbostic 1057*42874Sbostic The trailing slash in global commands is now optional. 1058*42874Sbostic g/pat means g/pat/p 1059*42874Sbostic (This change, as well as the corresponding changes to the substitute 1060*42874Sbostic command and r.e. address are also in the latest version of ed.) 1061*42874Sbostic 1062*42874Sbostic The j, k, and l keys now move the cursor down, up, and right, 1063*42874Sbostic respectively, in visual mode, as they used to do (and still do on 1064*42874Sbostic 3a's). This is to avoid the creeping of these keys into the map 1065*42874Sbostic descriptions of terminals and to compensate for the lack of arrow 1066*42874Sbostic keys on terminals like HP's. 1067*42874Sbostic 1068*42874Sbostic Two arguments given to a newline command now print the range of 1069*42874Sbostic lines instead of just the last line (as though 'p' were appended). 1070*42874Sbostic To make forms like /foo/;/bar/ still work, the ; operator sets 1071*42874Sbostic the dot as before but then forgets everything to the left of the ;. 1072*42874Sbostic 1073*42874Sbostic The + option invoked from the shell or the edit command has 1074*42874Sbostic two new forms: +/pat and +?pat 1075*42874Sbostic These cause the initial line to be chosen by a search for the 1076*42874Sbostic pattern pat. Note that if any special characters are in the 1077*42874Sbostic argument (such as ^, $, and even ?) it must be quoted. 1078*42874Sbostic 1079*42874Sbostic Two new options are added: autowrite (aw) and hardtabs (ht). 1080*42874Sbostic Autowrite is a toggle, off by default. When on, if you have 1081*42874Sbostic unsaved changes before a context switching command, a write 1082*42874Sbostic is done automatically. The commands that may write are !, 1083*42874Sbostic next, and tag. Note that there is an equivalent way to do the 1084*42874Sbostic command with autowrite set without the write in each case: 1085*42874Sbostic shell, tag!, and edit do not write. 1086*42874Sbostic 1087*42874Sbostic Hardtabs is a numeric option,, set to 8 by default. 1088*42874Sbostic Changing this to, say, 4, tells ex that either your system 1089*42874Sbostic expands tabs to every 4 spaces, or your terminal has hardware 1090*42874Sbostic tabs set every 4 spaces. 1091*42874Sbostic 1092*42874Sbostic A bug that caused strange behaviour when an echo line contained 1093*42874Sbostic more than 79 characters (from a long : command or one or more long 1094*42874Sbostic filenames) has been patched by not printing any such characters 1095*42874Sbostic past column 79. 1096*42874Sbostic 1097*42874Sbostic Handling of systems with nonstandard locations of files (where 1098*42874Sbostic the maintainer of ex is not a superuser and cannot create files 1099*42874Sbostic with names like /usr/lib/ex2.0strings or /etc/termcap) has been 1100*42874Sbostic improved. If the file can't be found as is, it is tried in the 1101*42874Sbostic current directory. If that fails, ex tries to run without it. 1102*42874Sbostic (Previously it bombed immediately if the error message file wasn't 1103*42874Sbostic in /usr/lib.) 1104*42874Sbostic 1105*42874Sbostic Shell commands containing ! or % characters are no longer echoed 1106*42874Sbostic when in hush mode (as in 'ex -' from a shell file.) 1107*42874Sbostic 1108*42874SbosticVersion 2.7 -- June 10, 1979 1109*42874Sbostic 1110*42874Sbostic An inefficiency introduced in version 2.3, which increased the 1111*42874Sbostic amount of time spent preparing output by approximately 30 percent 1112*42874Sbostic has been corrected. 1113*42874Sbostic 1114*42874Sbostic A bug which caused ``wrapmargin'' to work as though all hardcopy 1115*42874Sbostic terminals were 160 columns wide has been corrected. 1116*42874Sbostic 1117*42874Sbostic A bug which caused the display to become confused after the display 1118*42874Sbostic of a long line at the bottom of the screen was suppressed (being 1119*42874Sbostic replaced temporarily by an @) has been fixed. Previously, under 1120*42874Sbostic some circumstances (e.g. after a put created the situation), scrolling 1121*42874Sbostic up of the following text would cause the display of this long 1122*42874Sbostic line to be skipped, so that the @ line would remain and the line 1123*42874Sbostic itself would not be displayed. 1124*42874Sbostic 1125*42874SbosticVersion 2.6 -- June 2, 1979 1126*42874Sbostic 1127*42874Sbostic A bug which prevented the first field separator in a tags file 1128*42874Sbostic from beginning with a blank has been fixed; if the separator 1129*42874Sbostic was a blank previously, the tag would not be found in the tags file. 1130*42874Sbostic 1131*42874Sbostic A bug which caused the display to be messed up after a ``:'' 1132*42874Sbostic escape which created long lines has been fixed. Previously 1133*42874Sbostic a substitute command which changed the last few lines on the screen 1134*42874Sbostic to be very long would leave the screen messed up. 1135*42874Sbostic 1136*42874Sbostic A bug in display after 2 successive ``undo'' commands has been fixed. 1137*42874Sbostic Previously if you opened new lines on the display, and then did 1138*42874Sbostic 2 successive undo commands, the display would be messed up after the 1139*42874Sbostic second undo if your terminal had insert/delete line. 1140*42874Sbostic 1141*42874Sbostic A bug on intelligent terminals which caused unnecessary delete 1142*42874Sbostic character commands to be sent has been fixed. This occurred when 1143*42874Sbostic you did not have ``autoindent'' set, and opened a new line 1144*42874Sbostic below an existing line with tabs. 1145*42874Sbostic 1146*42874Sbostic The change operations in open mode on hardcopy terminals has been 1147*42874Sbostic fixed. Previously there were several bugs in cursor placement 1148*42874Sbostic when the change extended to just before a tab character. 1149*42874Sbostic 1150*42874Sbostic Several bugs in the handling of tabs in insert mode on intelligent 1151*42874Sbostic terminals have been fixed. Previously, tabs would often expand 1152*42874Sbostic incorrectly, leaving the wrong amount of white space, when an 1153*42874Sbostic insert occurred just before a tab. 1154*42874Sbostic 1155*42874Sbostic A bug has been fixed which caused the editor to skip processing 1156*42874Sbostic of the ``.exrc'' file when the terminal type set in the 1157*42874Sbostic environment was unknown. The editor now processes ``.exrc'' in 1158*42874Sbostic this case. 1159*42874Sbostic 1160*42874Sbostic [[A number of formatting changes have been made to the editor code 1161*42874Sbostic to eliminate unreasonably long lines. In addition, the code 1162*42874Sbostic from the Murray Hill and USG sites has been merged in conditionally, 1163*42874Sbostic so that all sites can compile from the same source.]] 1164*42874Sbostic 1165*42874SbosticVersion 2.5 -- May 28, 1979 1166*42874Sbostic 1167*42874Sbostic A bug which caused the VE sequence not to be sent when exiting 1168*42874Sbostic the editor via :q or :wq from visual has been fixed. 1169*42874Sbostic 1170*42874Sbostic A bug which caused the command r^Q<ESC> to be weird when it 1171*42874Sbostic was repeated has been fixed. 1172*42874Sbostic 1173*42874Sbostic The $ command now sets the column for future cursor motions to 1174*42874Sbostic effective infinity. Thus a `$' followed by up/down cursor motions 1175*42874Sbostic moves at the right margin of each line. 1176*42874Sbostic 1177*42874Sbostic [[Internal: a bug in conditional compilation without the LISP 1178*42874Sbostic features has been fixed.]] 1179*42874Sbostic 1180*42874Sbostic Several bugs relating to insert mode and intelligent terminals 1181*42874Sbostic have been fixed: 1182*42874Sbostic 1183*42874Sbostic A bug which caused inserts on HP/DATAMEDIA like terminals to act 1184*42874Sbostic strangely when the material was inserted immediately before a tab 1185*42874Sbostic has been fixed. 1186*42874Sbostic 1187*42874Sbostic A bug which caused the insertion of full tabs to not appear to 1188*42874Sbostic insert as many spaces as required (under strange circumstances) 1189*42874Sbostic has been fixed. 1190*42874Sbostic 1191*42874Sbostic A bug which caused inserts on terminals with insert/delete line 1192*42874Sbostic but no insert/delete character to act strangely if the insert 1193*42874Sbostic caused a line to overflow has been fixed. 1194*42874Sbostic 1195*42874Sbostic The ``expreserve'' program has been improved; you now will get 1196*42874Sbostic mail if a file is saved for you as a result of your phone being 1197*42874Sbostic hung up accidentally. 1198*42874Sbostic 1199*42874SbosticVersion 2.4 -- May 19, 1979 1200*42874Sbostic 1201*42874Sbostic A bug during inserts on intelligent terminals which occasionally 1202*42874Sbostic caused double ``~~'' characters on the last few lines of the display 1203*42874Sbostic rather than just single `~' characters has been fixed. 1204*42874Sbostic 1205*42874Sbostic The w W b B e and E operations in visual now wrap around line 1206*42874Sbostic boundaries. Thus a sequence of enough w commands will get to any 1207*42874Sbostic word below the current position in the file, and b's will back 1208*42874Sbostic up to any place before. Thus these are more like the sentence 1209*42874Sbostic operations ( and ). You still can't back around line boundaries 1210*42874Sbostic duing inserts however. 1211*42874Sbostic 1212*42874SbosticVersion 2.3 -- May 13, 1979 1213*42874Sbostic 1214*42874Sbostic The P command to ex is now a synonym for p, so that 1,$P works, 1215*42874Sbostic if you don't let up on the shift key soon enough. 1216*42874Sbostic 1217*42874Sbostic The / and ? operations within visual and open now hit later 1218*42874Sbostic (or earlier resp) occurrences of the same string on the same 1219*42874Sbostic line. This makes scans using / and ? much more useful. You 1220*42874Sbostic can move to the right on the current line by typing /pref<ESC> 1221*42874Sbostic where `pref' is a prefix of the word you wish to move to, and 1222*42874Sbostic delete to a following string `str' by doing d/str<ESC> if it is 1223*42874Sbostic on the same or succeeding line. Previously the command 1224*42874Sbostic d/pat/ 1225*42874Sbostic deleted lines through the next line containing `pat'; it now 1226*42874Sbostic deletes text up to the next instance of `pat'. To delete to 1227*42874Sbostic the next line containing `pat', do 1228*42874Sbostic d/pat/0 1229*42874Sbostic which is short for 1230*42874Sbostic d/pat/+0 1231*42874Sbostic In general if you use an offset after the scanning pattern, 1232*42874Sbostic whole lines will always be affected. 1233*42874Sbostic 1234*42874Sbostic Several bugs relating to the setting of the previous context mark 1235*42874Sbostic `` have been fixed, including one which caused operations such as 1236*42874Sbostic d`` or c`` to occasionally dump core. In particular, the operations 1237*42874Sbostic ( ) { } [[ ]] and % 1238*42874Sbostic now set the previous context mark correctly, and the mark is set 1239*42874Sbostic even if the motion by these operations lands in the same line. 1240*42874Sbostic 1241*42874Sbostic More optimization is now done on output cursor motions. This 1242*42874Sbostic is particularly much better on HP terminals which have 1243*42874Sbostic ridiculously long cursor addressing sequences. A new 1244*42874Sbostic capability has been added to the termcap file to aid this: 1245*42874Sbostic ``bt'' (backtab). Thanks to Chuck Haley for the new code to 1246*42874Sbostic implement this. 1247*42874Sbostic 1248*42874Sbostic A bug has been fixed on intelligent terminals which caused part 1249*42874Sbostic of the screen to be accidentally erased during insertions. 1250*42874Sbostic This occurred only on the first line on the screen, when it 1251*42874Sbostic became longer than one displayed line and only if a part of 1252*42874Sbostic the screen (at the top) was currently not in use. 1253*42874Sbostic 1254*42874Sbostic A bug has been fixed which caused the command ``dp'' to be interpreted 1255*42874Sbostic as ``delete to register p''. This normally went unnoticed since 1256*42874Sbostic the ``autoprint'' option would cause the effect which the ``p'' was 1257*42874Sbostic forcing. 1258*42874Sbostic 1259*42874SbosticVersion 2.2 -- May 6, 1979 1260*42874Sbostic 1261*42874Sbostic "d)" now deletes a line if the current line is a sentence rather 1262*42874Sbostic than leaving an empty line. 1263*42874Sbostic 1264*42874Sbostic The command 1265*42874Sbostic :s/str 1266*42874Sbostic now deletes str if it can find it; previously it was an error. 1267*42874Sbostic 1268*42874Sbostic The editor now handles multiple ":" escapes correctly; previously 1269*42874Sbostic the screen would not be redrawn necessitating a ^L to fix it if you 1270*42874Sbostic gave a `:!command' to ``[Hit return to continue]''. 1271*42874Sbostic 1272*42874Sbostic Recursive calls to visual from within open or visual are no longer 1273*42874Sbostic permitted. Previously ``:vi'' from within open mode would eventually 1274*42874Sbostic leave the editor in a strange state. 1275*42874Sbostic 1276*42874Sbostic The %age in the status line is now correctly printed on 11's; 1277*42874Sbostic Previously internal 16-bit overflows often caused it to be incorrect. 1278*42874Sbostic 1279*42874Sbostic The editor now ignores a ":" in front of commands. 1280*42874Sbostic Thus you can say ``:read foo'' within ex. 1281*42874Sbostic 1282*42874Sbostic A bug which caused commands involving ]] to not be repeatable has 1283*42874Sbostic been fixed. Previously ``d]]'' followed by ``.'' caused an error. 1284*42874Sbostic 1285*42874Sbostic "ayw now works correctly. Previously this silently did nothing. 1286*42874Sbostic 1287*42874Sbostic Several bugs in "recover" and "ex -r" have been fixed. Thanks 1288*42874Sbostic to Andy Koenig for the fixes. 1289*42874Sbostic 1290*42874Sbostic In input mode in open and visual ^V (like tenex) is now equivalent 1291*42874Sbostic to ^Q (which is reminiscent of ITS) superquoting the next character. 1292*42874Sbostic A later version of the UNIX tty driver will implement the standard for 1293*42874Sbostic ^S ^Q handshaking and make ^Q unusable. 1294*42874Sbostic 1295*42874Sbostic There are several typos on page 3 of the ``edit'' manual section: 1296*42874Sbostic s/move "a/delete a/ 1297*42874Sbostic s/"a move ./put a/ 1298*42874Sbostic /move to copy/s//delete to yank/ 1299*42874Sbostic 1300*42874SbosticVersion 2.1 -- April 5, 1979 1301*42874Sbostic 1302*42874Sbostic Invoking ex via 1303*42874Sbostic ex -l 1304*42874Sbostic now sets "lisp" and "showmatch". This is suitable for invocations 1305*42874Sbostic from within Franz Lisp. If you don't like "showmatch", you can 1306*42874Sbostic still use "ex -l", just put the command 1307*42874Sbostic set noshowmatch 1308*42874Sbostic in your .exrc file. 1309*42874Sbostic 1310