SOS.DOC - changes from SOS V23(220) to SOS V23E(77) This is an attempt to describe and compare the two existing versions of SOS. However, this is not a complete document describing both editors in detail; its goal is to explain the important differences and enhancements of the new SOS. CHAPTER 1 INCOMPATIBILITIES WITH THE OLD SOS 1.1 ASSUMED DOT ON FIND AND SUBSTITUTE COMMANDS Before, a null range specifier (just a CR after the ESC), on the F and S commands would start with the current line, and continue to the end of file to the first occurrence of the string. (e.g., start with .:EF). The new SOS starts with the following line (e.g., .+1:EF). So, if you have printed line 100 and you give the command SA$B$ under the new SOS it will not make the change starting with line 100. In order to specify that you want the current line you must specify "." at the end of your F and S commands. 1.2 INSERT N LINES SYNTAX The syntax for inserting n lines starting at line m has changed from Im;!n to Im!n (the semicolon is now illegal). 1.3 IMPLIED DOT AS A PAGE SPECIFIER The implied dot as a page specifier has been removed. However, the implied dot as a line specifier still exists. Thus P/ is illegal and P/. must be used instead. 1.4 ESCAPE AS A COMMAND In display mode no longer jumps up a line to save space on display terminals. This was thought to be confusing, as what appeared to be contiguous lines would be in reverse order. INCOMPATIBILITIES WITH THE OLD SOS Page 1-2 1.5 DISPLAY MODE The new SOS tries to do fancy things with display terminals. In order to take advantage of this feature, your terminal type must be set correctly, or the display will not correctly reflect the state of the line. Your terminal type can be set by the command ".TERMINAL xxx", or by putting LOGIN/TERMINAL:TYPE:xxx in SWITCH.INI or by putting TYPE:xxx in SYS:TTY.INI. XXX is the terminal type (VT05, VT52, VT100, LA36, LA120, etc.). To read the terminal type, type ".INITIA TTY" and read the output under TYPE:. In addition, all terminal name specific switches such as /VT52 /VT05 etc have been removed. SOS now reads your terminal type as set by the monitor, and does the display processing as best it can for the terminal type it thinks you are on. 1.6 SWITCH.INI A great many extensions have been added to SWITCH.INI. Note now, SWITCH.INI is looked for under your logged in PPN, even if you have pivoted into another area or changed your default path into an SFD. Also, the /CORE:N switch has been removed, /WINDOW:N is nearly the same. 1.7 SPECIAL MATCH CHARACTERS The special match characters available with the FIND and SEARCH commands have been expanded. A complete list of the special match characters appear below. Note that the C128 representation of some of these special match characters has been removed. It is hoped that these are more consistent and easily remembered. They are all entered as a control-E followed by a character, as described below: ^E equiv meaning char ^EC match any character ^EA match any alphanumeric (A-Z, a-z, 0-9) ^EL match any letter (A-Z, a-z) ^EVU match any upper case letter (A-Z) ^EVL match any lower case letter (a-z) ^ED match any digit (0-9) ^ES match a separator ^E match a space or tab ^EZ match end of line ^EB match beginning of line ^EN not the following character ^E* zero or more of the following character ^E+ one or more of the following character ^EQ quote the next character literally and on s output strings: INCOMPATIBILITIES WITH THE OLD SOS Page 1-3 ^EX next match string from input side ^EnM n-th match string from input side ^EnVU Upper case equivalent n-th match string from input side ^EnVL Lower case equivalent n-th match string from input side 1.8 CONTROL-C DIALOG The options in the ^C dialog message now require that the action character be typed, and followed with a carriage return. To allow automatic exit without the dialog mode, use the switch /CCEXIT, which will allow you to ^C. 1.9 EXIT AND DELETE The ED exit option is now illegal, unless the file you are editing is in readonly mode. A confirmation to delete the file will be required, unless /DELETE is set. 1.10 EXACT CASE ON ALTER COMMANDS The alter commands to search for a character or string require exact case match by default. This may be overridden by the switch /NOAEXACT. Note that Find and Substitute strings still do not require exact case match. 1.11 R SOS- CONSTRUCTION Before, given the construction ".R SOS-" SOS would prompt for a new file name, and "R SOS" would use the name of the previous file, if any. Now, either mode will use the name of the previous file. However, the construction ".R SOS-file" will still edit "file", and is equivalent to the prefered syntax of simply ".SOS file". CHAPTER 2 NEW FEATURES OF SOS 2.1 FANCY ALTER MODE On display terminals (ADDS, INFOTON, REGENT 100, VT52 and VT05, VT100) a fancy alter mode is available. This mode updates the line being altered continuously as characters are added, deleted or searched for. Also, many new character, word, and line altering commands have been added. For more information on these, refer to the SOS manual. 2.2 PARAMETERS AND SWITCH.INI A large number of parameters controlling the edit can be set interactively, or in SWITCH.INI under SOS. Again, please refer to the SOS manual for more information. 2.3 DISPLAY TERMINALS SOS handles rubouts, ^H, ^U, ^R correctly on all display terminals by overprinting or deleting characters to produce an error free line. The following is a list of SOS supported terminals: ADDS, INFOTON, REGENT 100, VT52, and VT05. To set SOS to work with one of these terminals, use the set parameter command (i.e., _DISPLAY) or include the switch /DISPLAY in the SOS line in SWITCH.INI. (note that this parameter is set by default) 2.4 IMPROVED SPEED SOS is considerably faster than the older SOS in file I/O. This makes a significant difference when working with larger files or when exiting the editor. Some of the parameters that can control SOS speed are /WINDOW/BUFFER/WRATIO/WMAXIMUM/WMINIMUM. NEW FEATURES OF SOS Page 2-2 2.5 HELP COMMAND The help command has an important extension. H,C will type out information about the C command, H/S will type out information on switch/parameter S. 2.6 BUG FIXES SOS fixes a lot of bugs with the current SOS. 2.7 P COMMAND The P command (print PLINE lines) now does not cross page boundaries. 2.8 CO-EDIT CAPABILITY SOS has the capability to edit two files simultaneously. The user can switch between files with the CX command, copy lines from one file to the other with the CC command, or transfer lines from one file to the other with the CT command. 2.9 FILE NAMES AND EXITING Upon leaving the editor (with E or G commands) the user has the option of changing the filename. By appending the string ":file" to the exit command, the updated file is written to instead of the original file name at the start of the edit. In addition, appending a "R:file" to the exit command, will cause SOS to exit the first file, and begin editing the second file. This is useful as all of the parameters of the first edit (search strings, switch settings, etc.) are retained. A new command O:file,range will write out to a new file called with the option of superseding or appending to the output file. 2.9.1 Expanded Find And Substitute Options Options (including the repeat count) may now be specified in any order, separated by commas, following the FIND or SUBSTITUTE command. The following FIND options are available: A ALTER the found lines D DELETE the found lines NEW FEATURES OF SOS Page 2-3 N ONLY print out line numbers of specified lines - find lines not containing specified find strings * INFINITE repeat (like ,10000) The following SUBSTITUTE options are available: D enter DECIDE mode on substitute confirm S SILENCE, do not print out specified lines at all The following options are available to both the FIND and SUBSTITUTE commands: E require EXACT case match of strings T give a TOTAL lines summary at the end U print specified lines UNSEQUENCED 2.9.2 Indirect Command File Repeat Previously, the only way to repeat a sequence of commands in a command was to repeat the commands N times in the command file, or to nest the command file to call itself. The first method was impractical in the general case, and the second incurs a lot of monitor and disk overhead, reading the command file for each time it is repeated. To avoid these problems, a comma followed by a number may be specified at the end of the indirect command file specification which is the number of times to repeat the command file. Or, optionally the number can be "*" to repeat the command file indefinitely (until some command in it fails). It should be noted that under this command file repeat there is a restriction that the command file fit in 1 disk block (128 words or 640 characters). CHAPTER 3 COMPATIBILITY MODE (/OLDCOMMAND) 3.1 SETTING AND CLEARING By default, SOS is in compatibility (/OLDCOMMAND) mode. This may be overridden by the /NEWCOMMAND switch placed in SWITCH.INI or as a switch/settable parameter in SOS command mode. /OLDCOMMAND mode makes SOS work like the old SOS as much as possible. 3.2 DESCRIPTION The following is a list of changes that are enabled when compatibility mode (/OLDCOMMAND) is set: 1. /QZBAK is the default. This writes *.Q?? and *.Z?? backup files. 2. /EXPERT defaults /NOINFORM, /NOVICE defaults /INFORM. 3. Exit options S and B mean unsequence and nobackup respectively. 4. N is treated like NF (renumber file) instead of renumbering the current page only. 5. The default STEP and START are 100, and not 10. 6. In alter mode V means invert case of word, # means invert case to end of line, and X means replace current word, T means extend the line. CHAPTER 4 BUILDING AND INSTALLATION INSTRUCTIONS 4.1 BUILDING FROM SOURCES SOS.CTL will rebuild the entire product from sources, including the production of .LST files. It also uses RUNOFF to create various .DOC, .MAN, and .HLP files. Note that ENDECR.MAC is not provided with SOS - it is part of BACKUP too, and it may be necessary to copy this file from the BACKUP sources in order to rebuild. In addition, we have provided SOSGLB.MIC which can be used to create both .MAP and .GLB files. This is not normally called from SOS.CTL, but by changing the !.DO SOSGLB to .DO SOSGLB (remove the "!" in SOS.CTL), one can get these produced as a part of the full rebuild process. Note that both of these control files use SOSLOD.CCL. 4.2 INSTALLATION There are five files which should be installed. SOS.EXE belongs on SYS: (or NEW:), SOS.HLP belongs on HLP:, and there are three files (SOS.DOC, SOS.MAN, and SOS23.MAN) which belong on DOC:. Also, you may wish to put SOSREF.MEM (a brief reference manual) and SOSMCR.DOC (a guide to using the new SOS MACRO facility) on DOC:.