Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-06 - 43,50374/sos.rnd
There are 4 other files named sos.rnd in the archive. Click here to see a list.
00100	.;
00200	.;  SOS DOC FILE	VERSION 23(220)
00300	.;
00400	.;	THE BROOKINGS INSTITUTION
00500	.;	SOCIAL SCIENCE COMPUTATION CENTER
00600	.;	WASHINGTON, D.C. 20036
00700	.;
00800	.;	WM. FRANKLIN
00900	.;	31-JAN-76
01000	.;
01100	.;	COPYRIGHT (C) 1975,1976 THE BROOKINGS INSTITUTION
01200	.;
01300	
01400	.TITLE ^^SOS.DOC\\ - ^CHANGES FROM ^VERSION 21(122) TO 23(220)
01500	.LEFT MARGIN 6
01600	.RIGHT MARGIN 72
01700	.CENTER
01800	^^SOS.DOC\\ - ^CHANGES FROM ^VERSION 21(122) TO 23(220)
01900	.SPACING 1
02000	.BLANK 2
02100	.NOFILL
02200	.NOJUSTIFY
02300	^THE ^BROOKINGS ^INSTITUTION
02400	^SOCIAL ^SCIENCE ^COMPUTATION ^CENTER
02500	^WASHINGTON, ^D.^C. 20036
02600	^JANUARY 31, 1976
02700	.BLANK 1
02800	.INDENT -2
02900	^COPYRIGHT (^C) 1975,1976, ^THE ^BROOKINGS ^INSTITUTION, ^WASHINGTON, ^D.^C.
03000	.BLANK 3
03100	.JUSTIFY
03200	.FILL
03300	.TAB STOPS 6
03400	.INDENT -6
03500	1.0	^^SUMMARY\\
03600	.BLANK 1
03700	^^SOS\\ VERSION 23(220) IS THE ^^DEC\\-DISTRIBUTED
03800	VERSION 21(122) WITH ALL KNOWN BUGS FIXED AND MANY USEFUL IMPROVEMENTS.
03900	^THIS VERSION INCORPORATES FIXES TO ALL PROBLEMS REPORTED IN OUTSTANDING
04000	^^SPR\\S, ALL FIXES MADE IN THE CURRENT ^^DEC\\ IN-HOUSE VERSION OF
04100	^^SOS\\, AND OTHER FIXES DEVELOPED BY THE ^UNIVERSITY OF ^ILLINOIS, THE
04200	^NATIONAL ^INSTITUTES OF ^HEALTH, AND ^BROOKINGS.
04300	^IMPROVEMENTS WERE MADE TO PROVIDE ADDITIONAL FEATURES AS REQUESTED
04400	BY VARIOUS ^^SOS\\ USERS, TO MAKE ^^SOS\\ MORE EASIER TO USE AND MORE
04500	EFFICIENT TO RUN, AND TO INCORPORATE USEFUL FUNCTIONS FROM OTHER
04600	VERSIONS OF ^^SOS\\.
04700	^ALL IMPROVEMENTS WERE CAREFULLY DESIGNED TO BE CONSISTENT WITH THE
04800	^^SOS\\'S DESIGN PHILOSOPHY AND TO PROVIDE THE MAXIMUM BENEFIT FROM
04900	THE MINIMUM AMOUNT OF CORE.
05000	^THIS VERSION HAS BEEN TESTED ON ^^KA\\ AND ^^KI\\ ^^DEC\\SYSTEM-10'S,
05100	RUNNING 5.07^B AND 6.02 ^^VM\\ MONITORS.
05200	^IT FULLY SUPPORTS ERSTAZ DEVICES AND ^^SFD\\S.
05300	
05400	.BLANK 1
05500	^ACKNOWLEDGEMENT SHOULD BE GIVEN TO ^CHRIS ^LARKIN AND ^DAN ^D'^URSO OF
05600	^DIGITAL ^EQUIPMENT ^CORPORATION FOR PROVIDING THE CURRENT ^^DEC\\ IN-HOUSE VERSION
05700	OF ^^SOS\\ AND COPIES OF OUTSTANDING ^^SOS\\ ^^SPR\\S,
05800	TO ^CHARLES ^HEDRICK OF THE ^UNIVERSITY OF ^ILLINOIS FOR
05900	PROVIDING HIS VERSION OF ^^SOS\\, TO ^GLENN ^RICART OF
06000	^^NIH\\ FOR FIELD-TESTING THIS VERSION, AND TO ^KEN ^JACOBS OF THE
06100	^URBAN ^INSTITUTE AND ^A.^W. ^KUNDERD OF ^BROOKINGS FOR PROVIDING
06200	DESIGN ASSISTANCE.
06300	
06400	.BLANK 1
06500	^THIS DOCUMENTATION AND THE MODIFICATIONS WHICH CREATED ^^SOS\\ VERSION
06600	23(220) ARE COPYRIGHTED BY ^THE ^BROOKINGS ^INSTITUTION.
06700	^ANY INSTALLATION MAY USE THIS VERSION OF ^^SOS\\, PROVIDED THAT
06800	THIS COPYRIGHT IS ACKNOWLEDGED AND ALL MODIFICATIONS TO THIS
06900	VERSION ARE MADE AVAILABLE AT NO COST TO ^BROOKINGS.
07000	^NO REDISTRIBUTION OF THIS VERSION MAY BE MADE WITHOUT THE
07100	EXPRESS WRITTEN CONSENT OF ^BROOKINGS; PERMISSION TO REDISTRIBUTE
07200	IS HEREBY GRANTED TO ^DIGITAL ^EQUIPMENT ^CORPORATION AND ^^DECUS\\.
07300	^THE ^BROOKINGS ^INSTITUTION MAKES NO WARRANTY, EXPRESS OR IMPLIED,
07400	AS TO THIS SOFTWARE AND ASSUMES NO LIABILITY FOR
07500	DIRECT OR CONSEQUENTIAL DAMAGES ARISING FROM ITS USE.
07600	^RETENTION OR USE OF THIS SOFTWARE CONSTITUTES ACCEPTANCE OF THE
07700	ABOVE TERMS.
     
00100	.PAGE
00200	.INDENT -6
00300	2.0	^^EXTERNAL CHANGES\\
00400	
00500	.BLANK 1
00600	.INDENT -6
00700	2.1	^THE COMMANDS "^B" AND "^B^P", WHICH POSITION YOU TO THE
00800	BEGINNING OF THE FILE OR THE BEGINNING OF THE CURRENT PAGE,
00900	RESPECTIVELY, HAVE BEEN IMPLEMENTED.
01000	
01100	.BLANK 1
01200	.INDENT -6
01300	2.2	^THE NUMBER OF SIMULTANEOUS SEARCH STRINGS THAT MAY BE
01400	GIVEN IN A SINGLE "^F" OR "^S" COMMAND HAS BEEN INCREASED FROM
01500	6 TO 10.
01600	
01700	.BLANK 1
01800	.INDENT -6
01900	2.3	^^SOS\\ PROVIDES AN ENCRYPTION FEATURE FOR SENSITIVE
02000	TEXT FILES.
02100	^ENCRYPTION IS REQUESTED BY SPECIFYING AN ENCRYPTION CODE (1-20 ALPHAMERIC
02200	CHARACTERS) ENCLOSED IN PARENTHESIS FOLLOWING THE NAME OF THE FILE
02300	TO BE EDITED.
02400	^THUS, COMMAND
02500	.LEFT MARGIN 10
02600	.TEST PAGE 5
02700	.BLANK 1
02800	_.^^SOS###TEXT.FIL(SECRET)\\
02900	.BLANK 1
03000	.LEFT MARGIN 6
03100	WOULD EITHER CREATE OR EDIT A FILE NAMED "^^TEST.FIL\\" WITH AN
03200	ENCRYPTION CODE "^^SECRET"\\.
03300	^TO ENCRYPT A PREVIOUSLY-CREATED FILE, THE COMMAND
03400	.TEST PAGE 5
03500	.BLANK 1
03600	.LEFT MARGIN 10
03700	_.^^SOS###CODED.FIL(KEYWORD)=PLAIN.FIL\\
03800	.BLANK 1
03900	.LEFT MARGIN 6
04000	WOULD READ THE UNENCRYPTED FILE "^^PLAIN.FIL\\" AND WRITE THE
04100	EDITED FILE "^^CODED.FIL\\" USING THE ENCRYPTION CODE "^^KEYWORD\\".
04200	^TO REVERSE THE PROCESS, THE COMMAND
04300	.TEST PAGE 5
04400	.BLANK 1
04500	.LEFT MARGIN 10
04600	_.^^SOS###PLAIN.FIL=CODED.FIL(KEYWORD)\\
04700	.BLANK 1
04800	.LEFT MARGIN 6
04900	WOULD SIMILARLY WRITE THE UNENCRYPTED FILE "^^PLAIN.FIL\\"
05000	AS THE EDITED VERSION OF THE ENCRYPTED "^^CODED.FIL\\".
05100	.BLANK 1
05200	^AT PRESENT, ONLY ^^SOS\\ CAN EITHER READ OR WRITE ENCRYPTED FILES,
05300	ALTHOUGH THE ^^SSCC\\ INTENDS TO INCLUDE THE ENCRYPTION PACKAGE INTO
05400	OTHER SOFTWARE AS TIME PERMITS.
05500	.TEST PAGE 4
05600	.LEFT MARGIN 12
05700	.RIGHT MARGIN 60
05800	.BLANK 1
05900	^^IMPORTANT\\:###^IT IS THE USER'S RESPONSIBILITY TO REMEMBER
06000	THE ENCRYPTION CODES FOR ALL HIS ENCRYPTED FILES.
06100	^IF A USER CANNOT DETERMINE THE ENCRYPTION CODE, THE ENCRYPTED FILE
06200	WILL BE UNREADABLE.
06300	.LEFT MARGIN 6
06400	.RIGHT MARGIN 72
06500	
06600	.BLANK 1
06700	.INDENT -6
06800	2.4	^THE ^ALTER COMMAND ("^A") HAS BEEN IMPROVED IN A
06900	NUMBER OF USEFUL WAYS:
07000	
07100	.LEFT MARGIN 12
07200	.TAB STOPS 12
07300	.BLANK 1
07400	.INDENT -6
07500	2.4.1	^IN ^ALTER MODE, THE COMMAND "_^^R" TYPES
07600	OUT THE CURRENT LINE FROM THE LEFT MARGIN TO THE CURRENT POSITION.
07700	^THIS TYPE-OUT CLOSELY APPROXIMATES THE NORMAL _^^R OUTPUT.
07800	^NOTE THAT _^^R MAY BE TYPED ANYTIME IN ^ALTER MODE, EVEN WHILE
07900	INSERTING TEXT INTO A LINE WITH THE ^ALTER-MODE "^I" OR "^R"
08000	COMMANDS, OR WHILE TYPING ARGUMENTS TO THE ^ALTER-MODE
08100	"^C", "^S", OR "^K" COMMANDS.
08200	
08300	.BLANK 1
08400	.INDENT -6
08500	2.4.2	^SIMILARLY, THE COMMAND "_^^U" WILL ALWAYS BE TAKEN IN
08600	^ALTER MODE TO RESTART THE CURRENT LINE, EVEN FOLLOWING
08700	A "^I", "^R", "^C", "^S", OR "^K" OPERATION.
08800	.BLANK 1
08900	^NOTE THAT "_^^U" WILL PRODUCE AN UNEXPECTED EFFECT WHEN TYPED
09000	IN AS TEXT FOR THE ^EXTEND ("^X") COMMAND.
09100	^BECAUSE THE "^X" COMMAND IS IMPLEMENTED AS AN ^ALTER MODE
09200	OPERATION WITH AN AUTOMATIC INSERTION AT END OF LINE, TYPING
09300	"_^^U" TERMINATES THE INSERTION AND THEN PUTS YOU IN ^ALTER
09400	MODE AT THE BEGINNING OF THE LINE.
09500	
09600	.BLANK 1
09700	.INDENT -6
09800	2.4.3	^THE ^BACKSPACE CHARACTER (_^^H) IS NOW COMPLETELY EQUIVALENT
09900	TO THE ^RUBOUT CHARACTER (ALSO KNOWN AS THE ^DELETE OR ^DEL CHARACTER,
10000	177 OCTAL, SOMETIMES WRITTEN AS "_<^^RO\\_>") IN ^ALTER MODE.
10100	^THIS MEANS THAT ^BACKSPACE, LIKE ^RUBOUT, DELETES THE PREVIOUS
10200	CHARACTER AS AN "^I" OR "^R" COMMAND CHARACTER, TERMINATES THE
10300	"^C", "^S", OR "^K" COMMAND OPERATION, OR AS AN ^ALTER
10400	COMMAND BACKS UP THE CURRENT CHARACTER POSITION.
10500	
10600	.BLANK 1
10700	.INDENT -6
10800	2.4.4	^THE ^ALTER-MODE COMMANDS "_^", "_<", AND "_>"  HAVE
10900	 BEEN IMPLEMENTED.
11000	^THESE COMMANDS MODIFY THE CASE OF THE CURRENT CHARACTER, IF IT
11100	IS A LETTER, AND THEN MOVE THE CURRENT CHARACTER POSITION
11200	ONE SPACE TO THE RIGHT.
11300	^THE "_^" COMMAND INVERTS THE CASE, "_<" SETS IT TO UPPER CASE, AND
11400	"_>" SETS IT TO LOWER CASE.
11500	^IF A REPEAT COUNT HAS BEEN SPECIFIED, THESE COMMANDS OPERATE ON
11600	THAT NUMBER OF CHARACTERS.
11700	^IF A NEGATIVE SIGN ("-") HAS BEEN SPECIFIED, THESE COMMANDS OPERATE ON
11800	THE PREVIOUS CHARACTER AND THEN MOVE THE CURRENT CHARACTER
11900	POSITION ONE SPACE TO THE LEFT.
12000	^A NEGATIVE REPEAT COUNT IS ALSO LEGAL.
     
00100	.BLANK 1
00200	.INDENT -6
00300	2.4.5	^THE ^ALTER-MODE COMMAND "^B" IMMEDIATELY POSITIONS YOU
00400	TO THE BEGINNING OF THE CURRENT LINE.
00500	^THIS COMMAND DIFFERS FROM "^L", WHICH ALSO POSITIONS YOU
00600	AT THE BEGINNING OF THE CURRENT LINE, IN THAT IT DOES NOT
00700	TYPE THE REMAINDER OF THE LINE BEFORE REPOSITIONING.
00800	
00900	.BLANK 1
01000	.INDENT -6
01100	2.4.6	^AN ^^ALTMODE\\ (^ESCAPE, OR ^^ESC\\ CHARACTER) IN ^ALTER
01200	MODE NOW CLEARS THE ACCUMULATED REPEAT COUNT AND NEGATIVE SIGN, IF
01300	ANY, WITHOUT RINGING THE TERMINAL'S AUDIBLE ALARM (BELL).
01400	
01500	.BLANK 1
01600	.INDENT -6
01700	2.4.7	^A GREATER NUMBER OF ^ALTER-MODE COMMANDS MAY BE
01800	USED WITH NEGATIVE REPEAT COUNTS.  ^THESE INCLUDE "#" (SPACE FORWARDS),
01900	^RUBOUT OR ^BACKSPACE (SPACE BACKWARDS),
02000	"@" (EXECUTE COMMAND FORWARDS - SEE 2.4.15, BELOW),
02100	 "^D" (DELETE FORWARDS),
02200	"^R" (DELETE FORWARDS AND THEN INSERT), "^S" (SEARCH FORWARDS),
02300	"^K" (KILL NEXT CHARACTERS), "_<^H^T_>" (SPACE 
02400	TO END OF LINE), AND "^X" (INSERT AT END OF LINE).
02500	^WHEN A NEGATIVE SIGN ("-") OR NEGATIVE REPEAT COUNT ("-NN") IS GIVEN
02600	THE DIRECTION IN WHICH A COMMAND OPERATES IS REVERSED, E.G., "-^D"
02700	DELETES BACKWARDS INSTEAD OF FORWARDS, "-^X" INSERTS AT THE START OF
02800	THE LINE, ETC.
02900	^NOTE IN THE PREVIOUS VERSION "_^^U" WAS ILLEGAL FOLLOWING A
03000	MINUS SIGN, WHICH PREVENTED THE USER FROM RESTORING THE ORIGINAL
03100	LINE UNDER CERTAIN COMMAND SEQUENCES.
03200	
03300	.BLANK 1
03400	.INDENT -6
03500	2.4.8	^AS FOR OTHER ^^SOS\\ MODES, TYPING TWO ^BELL CHARACTERS
03600	IN SUCCESSION ("_^^G_^^G") WILL NOW TERMINATE ALTER MODE AND RETURN
03700	YOU TO ^^SOS\\ COMMAND MODE (I.E., A "*" WILL BE TYPED).
03800	^THE LINE CURRENTLY BEING ALTERED WILL REMAIN INTACT.
03900	
04000	.BLANK 1
04100	.INDENT -6
04200	2.4.9	^CONTROL CHARACTERS TYPED DURING ^ALTER MODE WILL
04300	NOW BE ECHOED AS SUCH (AS "_^_<CHAR_>").
04400	
04500	.BLANK 1
04600	.INDENT -6
04700	2.4.10	^FOR THE "^C", "^S", AND "^K" COMMANDS, THE ^CARRIAGE ^RETURN _<^C^R_>
04800	CHARACTER WILL NOW TERMINATE THE ^ALTER-MODE
04900	OPERATION ON THE CURRENT LINE, JUST AS ^CARRIAGE ^RETURN NOW
05000	TERMINATES OPERATIONS ON THE "^I" AND "^R" COMMANDS.
05100	^SIMILARLY, THE ^^ALTMODE\\ (^ESCAPE, OR ^^ESC\\ CHARACTER) WILL TERMINATE
05200	THE "^C", "^S", OR "^K" OPERATION, JUST AS ^BACKSPACE OR ^RUBOUT
05300	DOES, BUT LEAVES YOU IN ^ALTER MODE ON THE CURRENT LINE AT THE CURRENT
05400	POSITION.
05500	
05600	.BLANK 1
05700	.INDENT -6
05800	2.4.11	^FOR THE "^S" AND "^K" COMMANDS, THE INITIAL CHARACTER POSITION
05900	MAY BE THOUGHT OF AS BEING BEFORE THE FIRST CHARACTER POSITION
06000	ON THE LINE, SO THAT AN ^S COMMAND FOR THE FIRST CHARACTER IN
06100	THE LINE WILL FIND IT, AND A ^K COMMAND FOR THE FIRST
06200	CHARACTER WILL NOT KILL ANY CHARACTERS.
06300	^THIS MAKES ^ALTER MODE OPERATIONS MORE CONSISTENT SINCE, FOR
06400	EXAMPLE, IN A ^^FORTRAN\\ PROGRAM, A SEARCH FOR A HORIZONTAL
06500	TAB CHARACTER (E.G., TYPING "^S_<^H^T_>") AT THE BEGINNING OF THE LINE WILL ALWAYS
06600	PUT YOU AT COLUMN 7, WHETHER OR NOT THE LINE HAS A ^^FORTRAN\\
06700	STATEMENT NUMBER.
06800	
06900	.BLANK 1
07000	.INDENT -6
07100	2.4.12	^THE "^T", "^W", "^U", AND "^X" ^ALTER-MODE COMMANDS HAVE
07200	BEEN CHANGED FROM PRIOR VERSIONS TO PROVIDE GREATER WORD-HANDLING
07300	CAPABILITY AND TO MAKE ^ALTER MODE MORE CONSISTENT WITH OTHER ^^SOS\\
07400	COMMANDS.
07500	"^W" RETAINS ITS PRESENT MEANING OF "SKIP NEXT WORD";
07600	A WORD IS DEFINED AS ANY COLLECTION OF LETTERS,
07700	NUMBERS, AND THE THREE SEPARATOR-TYPE SPECIAL CHARACTERS ".", "%",
07800	AND "$".
07900	^IN VERSION 23(220), "^T" MEANS "DELETE NEXT WORD AND INSERT TEXT";
08000	_"^U" MEANS "DELETE NEXT WORD";
08100	"^X" MEANS "SKIP TO END OF LINE AND INSERT TEXT", ANALOGOUS TO THE
08200	NORMAL "^X" (^EXTEND) COMMAND.
08300	^NOTE THAT "-^X" IS A LEGAL COMMAND MEANING "SKIP TO BEGINNING OF
08400	LINE AND INSERT TEXT".
08500	^FOR BOTH "^T" AND "^X" TEXT IS INSERTED UNTIL AN ^ALTMODE" OR _<^^CR\\_>
08600	IS TYPED.
08700	.BLANK 1
08800	^THIS IMPLEMENTATION REPLACES THE PRIOR VERSION IN WHICH "^X" MEANT
08900	"DELETE WORD AND INSERT TEXT" (CURRENT "^T" FUNCTION ) AND "^T"
09000	AND "^U" WERE ERRORS.
09100	
09200	.BLANK 1
09300	.INDENT -6
09400	2.4.13	^IN ^EXPERT MODE, TEXT BACKSPACED ACROSS (IN RESPONSE TO A "_<^^RO\\_>",
09500	"-_<^^SP\\_>", OR "-^S" COMMAND) IS NOT TYPED WHEN THE RESULT WOULD
09600	BE THAT THE CHARACTER POINTER WILL BE AT THE START OF THE LINE.
09700	^INSTEAD, THE LINE NUMBER IS AGAIN TYPED TO INDICATE THIS RESULT.
09800	
09900	.BLANK 1
10000	.INDENT -6
10100	2.4.14	^FOR THE "^K", "^S", AND "^C" COMMANDS, THE ^LINE-FEED CHARACTER
10200	("_<^^LF\\_>") HAS BEEN GIVEN A SPECIAL MEANING "END OF LINE".
10300	^THUS, "^K_<^^LF\\_>" KILLS ALL CHARACTERS TO END OF LINE (BEGINNING OF
10400	LINE IF "-^K"); AND "^S" SEARCHES TO THE END OF LINE (BEGINNING OF LINE
10500	IF "-^S").
10600	^CHANGING A CHARACTER TO A LINE FEED WITH "^C_<^^LF\\_>" NOW INSERTS AN
10700	_<^^CR\\_>_<^^LF\\_> AND COPIES THE REMAINING TEXT TO A NEW LINE,
10800	ANALOGOUS THE INSERTION OF A _<^^LF\\_> WITH THE "^I", "^R",
10900	"^T", OR "^X" COMMAND.
11000	
11100	.BLANK 1
11200	.INDENT -6
11300	2.4.15	^AN IMPORTANT EXTENSION TO THE ^ALTER MODE COMMAND
11400	FACILITY HAS BEEN IMPLEMENTED.
11500	^THIS IS THE "^EXECUTE THROUGH" COMMAND ("_@"), WHICH HAS THE SYNTAX
11600	.BLANK 1
11700	.INDENT 6
11800	_[-_]##_[NN_]##@##_<CMD_>##_<CHAR_>
11900	.BLANK 1
12000	AND SPECIFIES TO EXECUTE THE ^ALTER MODE COMMAND "_<CMD_>"
12100	THROUGH THE "NN"TH OCCURRENCE OF "_<CHAR_>".
12200	^THE COMMAND SEARCHES BACKWARDS IF THE MINUS SIGN HAS BEEN
12300	SPECIFIED AND IF MINUS IS LEGAL FOR THE SPECIFIED "_<CMD_>".
12400	^THIS COMMAND SUPPORTS THE FOLLOWING COMMAND CHARACTERS:
12500	_"#" ("@#<CHAR>" IS EQUIVALENT TO "^S<CHAR>"),
12600	_"^C", "_^", "_>", "_<", "^D" ("@^D<CHAR>" IS EQUIVALENT TO "^K<CHAR>"),
12700	AND "^V" (SEE 2.4.19, BELOW).
12800	^ALL COMMANDS EXCEPT "^C" AND "^V" MAY SEARCH IN EITHER DIRECTION;
12900	ONLY THE "#" COMMAND MAY BE USED WHEN SEARCHING A _/^^READONLY\\
13000	FILE.
13100	^THE "@" COMMAND FOLLOWS THE NEW CONVENTION FOR INITIAL CHARACTER
13200	POSITION DESCRIBED IN 2.4.11 AND OBEYS THE ADDED SPECIAL-CHARACTER
13300	CONVENTIONS FOR ^CARRIAGE ^RETURN, ^ALTMODE, ^BACKSPACE, ^RUBOUT,
13400	^LINE ^FEED, _^^R, AND _^^U DESCRIBED IN 2.4..1, 2.4.2, 2.4.3,
13500	2.4.10, AND 2.4.14, ABOVE.
13600	
13700	.BLANK 1
13800	.INDENT -6
13900	2.4.16	^THE ^ALTER MODE CHARACTER-MATCHING FACILITY, USED BY
14000	THE "^S", "^K", AND "@" COMMANDS, HAS BEEN IMPROVED.
14100	.BLANK 1
14200	^FIRST, LETTER COMPARISONS WILL BE EITHER EXACT (UPPER CASE
14300	DISTINCT FROM LOWER CASE) OR FOLDED (UPPER CASE AND LOWER CASE
14400	ARE EQUAL) DEPENDING ON THE SETTING OF THE "_/^^EXACT\\" SWITCH
14500	AND THE ",^E" ARGUMENT, AS DESCRIBED IN ITEM 2.28, BELOW.
14600	.BLANK 1
14700	^SECOND, ALL PATTERN MATCH SPECIAL CHARACTERS AS DESCRIBED IN
14800	ITEM 2.29, BELOW, EXCEPT "ANY NUMBER OF" AND "ONE OR MORE OF",
14900	MAY BE USED AS TARGET CHARACTERS.
15000	^THIS MEANS, FOR EXAMPLE, THAT THE COMMAND "^K_?_:" WHEN IN
15100	_/^C128 MODE WILL DELETE ALL CHARACTERS THROUGH THE NEXT
15200	"^SEPARATOR".
15300	
15400	.BLANK 1
15500	.INDENT -6
15600	2.4.17	^THE "_^^R" FUNCTION NOW PRINTS THE CORRECT NUMBER OF
15700	CHARACTERS WHEN FOLLOWING A "_-^D" COMMAND.
15800	
15900	.BLANK 1
16000	.INDENT -6
16100	2.4.18	^THE ^JOIN FUNCTION ("^J") WHEN GIVEN WHILE POSITIONED
16200	AT THE BEGINNING OF A LINE NOW DELETES THE FIRST LINE
16300	WHILE APPENDING THE TEXT OF THAT LINE TO THE BEGINNING OF THE
16400	NEXT LINE.
16500	^THIS WAS DONE TO FACILITATE ALIGNMENT OF TEXT INTO EVENLY
16600	SPACED LINES.
16700	
16800	.BLANK 1
16900	.INDENT -6
17000	2.4.19	^THE "^V" COMMAND (^STANFORD CASE INVERSION COMMAND) HAS
17100	BEEN IMPLEMENTED FOR ^ALTER MODE.
17200	^IF THE CURRENT CHARACTER IS A LETTER, THE "^V" COMMAND INVERTS ITS
17300	CASE AND SPACES ONE CHARACTER TO THE LEFT.
17400	^OTHERWISE, THE "^V" COMMAND PERFORMS NO ACTION.
17500	^A REPEAT COUNT MAY BE SPECIFIED, TO PERMIT THE CASE OF
17600	CONSEQUITIVE LETTERS TO BE INVERTED; OR THE SAME
17700	EFFECT MAY BE ACHIEVED BY USING THE "^V" COMMAND AS THE SUBJECT
17800	OF THE "@" COMMAND.
17900	^HOWEVER, THE "^V" COMMAND ONLY WORKS LEFT-TO-RIGHT; A
18000	MINUS SIGN (NEGATIVE REPEAT COUNT) MAY NOT BE GIVEN.
     
00100	.LEFT MARGIN 6
00200	.TAB STOPS 6
00300	
00400	.BLANK 1
00500	.INDENT -6
00600	2.5	^THE FOLLOWING CHANGES HAVE BEEN MADE TO ^^SOS\\'S HANDLING
00700	OF DATA FILES AND FILE SPECIFICATIONS:
00800	
00900	.LEFT MARGIN 12
01000	.TAB STOPS 12
01100	
01200	.BLANK 1
01300	.INDENT -6
01400	2.5.1	^^SOS\\ NOW USES THAT ^^PATH.\\ ^^UUO\\ TO VERIFY THAT A ^^LOOKUP\\
01500	HAS FOUND THE DESIRED FILE IN THE SPECIFIED DISK AREA.
01600	^THIS MAY OCCUR WHEN THE USER'S SEARCH LIST
01700	HAS _/^^LIB\\, _/^^SYS\\, OR _/^^NEW\\ SET.
01800	^SPECIFICALLY, IN THE NORMAL ^^SOS\\ OPERATION, WHEN ONLY ONE FILE IS SPECIFIED
01900	AND _/^^READONLY\\ IS NOT IN EFFECT, THE SPECIFIED FILE MUST BE FOUND
02000	IN THE DISK AREA REQUESTED IN ORDER TO BE EDITED.
02100	^THIS MEANS THAT IF YOU ATTEMPT TO EDIT A FILE, WHICH EXISTS IN YOUR
02200	LIBRARY AREA (I.E., ON ^^LIB\\:), THE FILE WILL BE CREATED IN YOUR
02300	AREA AND NOT EDITED FROM ^^LIB\\:.
02400	^TO EDIT A FILE FROM ^^LIB\\:, YOU MUST SPECIFY THE FILE AS
02500	"^^LIB\\:FILE_.EXT".
02600	
02700	.BLANK 1
02800	.INDENT -6
02900	2.5.2	^IN THE NORMAL ^^SOS\\ OPERATION, WHEN ONLY ONE FILE IS SPECIFIED
03000	AND _/^^READONLY\\ IS NOT IN EFFECT, IF YOU HAVE REQUESTED THAT
03100	A FILE BE EDITED THAT IS NOT IN EITHER YOUR DEFAULT PATH OR YOUR OWN
03200	DISK AREA, ^^SOS\\ TREATS THAT AS A REQUEST TO
03300	READ THE FILE FROM THE SPECIFIED DISK AREA AND WRITE THE EDITED
03400	VERSION ONTO YOUR DEFAULT PATH.
03500	^THIS IS AN "IMPLIED COPY" OPERATION.
03600	.BLANK 1
03700	^WHEN ^^SOS\\ DOES AN IMPLIED COPY, IT USES THE FILE SPECIFICATION
03800	"^^DSK:\\FILE.EXT[-]".
03900	^^SOS\\ FOLLOWS THE NORMAL RULES, AS GIVEN IN 2.5.3, BELOW,
04000	FOR SETTING THE FILE PROTECTION ON THE RESULTING OUTPUT FILE.
04100	^TO EDIT A FILE "IN PLACE" IN ANOTHER DISK AREA, YOU MUST GIVE
04200	THE OTHER DISK AREA AS BOTH THE INPUT AND OUTPUT FILE SPECIFICATIONS.
04300	.BLANK 1
04400	^BECAUSE THIS FEATURE IS DESIGNED TO KEEP THE LESS EXPERIENCED ^^SOS\\
04500	USER FROM GETTING INTO TROUBLE, INSTALLATIONS SERVING THE MORE EXPERIENCED
04600	USER MAY DISABLE THIS FEATURE WITH THE "^^FTIMPCPY\\" CONDITIONAL
04700	ASSEMBLY SWITCH.
04800	
04900	.BLANK 1
05000	.INDENT -6
05100	2.5.3	^WHENEVER YOU GIVE A FILE SPEC TO ^^SOS\\, YOU MAY NOW INCLUDE
05200	THE PROTECTION TO BE ASSOCIATED WITH THAT FILE AS PART OF THE FILE
05300	SPECIFICATION, AS IN "^^SAMPLE.CBL_<157_>\\".
05400	^THE PROTECTION LAST TYPED AS PART OF THE FILE SPEC ON EITHER THE
05500	INPUT OR OUTPUT SIDE OF THE INITIAL COMMAND LINE, AS THE ARGUMENT TO
05600	_/^^NAME\\, OR AS THE NEW FILE NAME ON THE "^E" OR "^W" COMMANDS
05700	WILL SET THE PROTECTION FOR THE EDITED OUTPUT FILE.
05800	^IF NO PROTECTION IS SPECIFIED, ^^SOS\\ WILL USE THE SYSTEM-STANDARD
05900	PROTECTION WHEN CREATING FILES AND THE
06000	FILE'S CURRENT PROTECTION WHEN EDITING EXISTING FILES.
06100	
06200	.BLANK 1
06300	.INDENT -6
06400	2.5.4	^WHENEVER ^^SOS\\ TYPES A FILE SPECIFICATION OUT, FOR EXAMPLE
06500	AT THE END OF AN EDITING SESSION, IT WILL ONLY TYPE OUT THE DEVICE
06600	IF IT IS NOT ^^DSK\\: (OR A FILE STRUCTURE NAME
06700	EQUIVALENT TO ^^DSK\\:), ONLY TYPE OUT THE PROTECTION
06800	IF IT IS NOT THE SYSTEM STANDARD, AND ONLY TYPE THE FILE'S PATH
06900	IF IT IS NOT YOUR DEFAULT PATH.
07000	^A FILE STRUCTURE IS EQUIVALENT TO ^^DSK\\: WHEN IT IS IN THE
07100	SYSTEM SEARCH LIST (I.E., IS A PUBLIC STRUCTURE), WHEN IT IS
07200	THE ONLY STRUCTURE IN THE USER'S ACTIVE SEARCH LIST, AND WHEN
07300	IT HAS THE NORMAL FILE STRUCTURE _/^^WRITE\\ AND _/^^CREATE\\ ATTRIBUTES.
07400	
07500	.BLANK 1
07600	.INDENT -6
07700	2.5.5	^WHEN EDITING FROM ONE FILE TO ANOTHER, ^^SOS\\ WILL TYPE
07800	OUT THE FILE SPECIFICATIONS AS
07900	.INDENT 6
08000	.BLANK 1
08100	^EDIT:#_<OLD#FILE_>##AS##_<NEW#FILE_>
08200	.BLANK 1
08300	TO INFORM YOU THAT A COPY OPERATION IS BEING PERFORMED
08400	AS A PART OF THE EDITING PROCESS.
08500	^IF _/^^CREATE\\ HAS BEEN SET, THE MESSAGE IS TYPED AS
08600	.BLANK 1
08700	.INDENT 6
08800	^EDIT:#_<OLD#FILE_>##CREATING##_<NEW#FILE_>
08900	.BLANK 1
09000	TO INDICATE THIS.
09100	^NOTE THAT A COPY OPERATION MAY BE IMPLIED FROM A SINGLE FILE SPEC
09200	ACCESSING A FILE NOT IN YOUR DISK AREA OR ON YOUR DEFAULT PATH, AS
09300	DESCRIBED IN ITEM 2.5.2, ABOVE.
09400	
09500	.BLANK 1
09600	.INDENT -6
09700	2.5.6	^ALL ^^SOS\\ OUTPUT FILES ARE WRITTEN IN ^^ASCII\\ ^LINE
09800	MODE (MODE 1) TO BETTER INDICATE THEIR CONTENTS.
09900	
10000	.BLANK 1
10100	.INDENT -6
10200	2.5.7	^^SOS\\ FILE SPECIFICATIONS MAY NOW BE PLACED ON THE
10300	SAME LINE AS THE ^^RUN\\ OR ^R COMMAND INITIATING
10400	^^SOS\\ BY PRECEEDING THE FILE SPECIFICATIONS WITH A "-".
10500	^THUS THE COMMAND
10600	.BLANK 1
10700	.INDENT 6
10800	_.^^R###SOS##-##TEST.F4\\
10900	.BLANK 1
11000	WOULD BE EQUIVALENT TO THE COMMANDS
11100	.INDENT 6
11200	.BLANK 1
11300	_.^^R###SOS\\
11400	.BLANK 1
11500	.INDENT 6
11600	^FILE:##^^TEST.F4\\
11700	.BLANK 1
11800	BUT IS SIMPLER TO TYPE.
11900	^IF YOU HAVE PREVIOUSLY EDITED A FILE, AND YOU WISH TO RUN ^^SOS\\
12000	TO EDIT OR CREATE A DIFFERENT FILE, TYPING A DASH ("-") FOLLOWING THE
12100	^^RUN\\ OR ^R COMMAND WITHOUT A FILE NAME WILL CAUSE ^^SOS\\
12200	TO IGNORE THE REMEMBERED FILE NAME.
12300	(^NOTE THAT THIS IS A NEW DESCRIPTION OF AN EXISTING FEATURE OF
12400	^^SOS\\ VERSION 21(122).)
12500	
12600	.BLANK 1
12700	.INDENT -6
12800	2.5.8	^^SOS\\ DOES NOT ECHO THE NAME OF THE FILE BEING EDITED
12900	WHEN THE USER ENTERED THE FILE NAME EXPLICITLY IN RESPONSE TO THE
13000	"^FILE:#" PROMPT.
13100	^THIS WAS ELIMINATED SINCE IN THAT PARTICULAR CASE THE USER
13200	ALREADY KNOWS WHAT FILE IS BEING EDITED.
13300	
13400	.BLANK 1
13500	.INDENT -6
13600	2.5.9	^A "SAVE" OPERATION, CAUSED EITHER BY THE "^W" COMMAND
13700	OR AN AUTO-SAVE OPERATION REQUESTED BY THE "_/^^SAVE\\" OR "_/^^ISAVE\\"
13800	PARAMETERS, MAY NOW BE DONE WHERE THE DESIRED OUTPUT FILE PROTECTION
13900	IS _<400_> OR GREATER.
14000	^IN THIS CASE, THE FILE'S PROTECTION IS SET TO _<3XX_> BY THE
14100	SAVE OPERATION BUT RESET TO THE DESIRED PROTECTION AT THE END
14200	OF THE EDITING SESSION ("^E" OR "^G" COMMANDS).
14300	
14400	.BLANK 1
14500	.INDENT -6
14600	2.5.10	^ALL ^^SOS\\ OPERATIONS READING OR WRITING FILES FROM ERSATZ
14700	DEVICES (E.G., ^^NEW\\:, ^^OLD\\:, ^^HLP\\:, ^^LIB\\:, ETC.) WILL WORK CORRECTLY.
14800	^WHEN ACCESSING ERSATZ DEVICES, ^^SOS\\ WILL IGNORE ANY ^^PPN\\S
14900	SPECIFIED BY THE USER SINCE THE DEVICE NAME OVERRIDES THE ^^PPN\\.
15000	
15100	.BLANK 1
15200	.INDENT -6
15300	2.5.11	^THE EFFECT OF THE "_/^^DELETE\\" SWITCH OR THE "^E^D"
15400	COMMAND HAS BEEN MODIFIED WHEN ^^SOS\\ HAS A SPECIFIED OUTPUT
15500	FILE WHICH IS NOT THE SAME AS THE INPUT FILE.
15600	^THIS SITUATION CAN OCCUR WHEN THE USER HAS TYPED AN ^^SOS\\
15700	COMMAND SUCH AS
15800	.BLANK 1
15900	.INDENT 6
16000	_.^^SOS##FILE.NEW#=#FILE.OLD\\
16100	.BLANK 1
16200	OR WHEN THE USER HAS SET A NEW OUTPUT FILE WITH THE "_/^^NAME\\"
16300	COMMAND.
16400	^WHEN THIS OCCURS, ^^SOS\\ WILL DELETE ONLY THE NEW FILE (^^FILE.NEW\\
16500	IN THE ABOVE EXAMPLE) AND ONLY WHEN ^^SOS\\ HAS WRITTEN A NEW COPY
16600	OF THAT FILE.
16700	^THUS, WHEN ONLY ONE FILE HAS BEEN SPECIFIED (THE SO-CALLED "BROWSE-AND-DELETE" FUNCTION)
16800	_/^^DELETE\\ WILL DELETE THAT FILE; WHEN BOTH INPUT AND OUTPUT FILES
16900	HAVE BEEN GIVEN _/^^DELETE\\ WILL DELETE ONLY THE OUTPUT FILE AND
17000	NEVER THE INPUT FILE.
     
00100	.BLANK 1
00200	.INDENT -6
00300	2.5.12	^^WARNING\\: ^^PLANETS\\ USERS SHOULD BE AWARE OF A
00400	POTENTIAL NAMING CONFLICT BETWEEN ^^SOS\\ BACKUP FILES
00500	(*.^Q??) AND ^^PLANETS\\ QUARTERLY DATA BANKS (*.^^QTR\\).
00600	^TO PREVENT THE ^^PLANETS\\ DATA BANKS FROM BEING DELETED
00700	BY THE ^^DELETE\\ COMMAND (AS IN ".^^DELETE##*.Q*\\"),
00800	THE DATA BANKS SHOULD BE GIVEN _<5XX_> PROTECTION.
00900	^IF YOU USE THE ^^KJOB\\ COMMAND "_/^S" OPTION (AS IN
01000	".^^KJOB/S\\" OR ".^K_/^S") ANY PROTECTION _<100_> OR HIGHER
01100	WILL PROTECT THE DATA BANKS FROM DELETION WHILE LOGGING OUT.
01200	
01300	.BLANK 1
01400	.INDENT -6
01500	2.5.13	^WHEN SET IN "_/^^NOBAK\\" MODE, ^^SOS\\
01600	WILL NOT DELETE PREVIOUSLY EXISTING BACKUP FILES (*.^Q??) WHEN SAVING A NEW
01700	VERSION OF A SOURCE FILE.
01800	^THIS PERMITS A USER TO  ACCESS A BACKUP FILE CREATED BY ^^SOS\\ WHEN
01900	A SOURCE FILE WAS EDITED IN "_/^^NOBAK\\" MODE AFTER THE SAME FILE
02000	HAD BEEN EDITED IN "_/^^BAK\\" MODE.
02100	^THIS CHANGE ALSO MAKES ^^SOS\\ SLIGHTLY MORE EFFICIENT WHEN OPERATING
02200	IN "_/^^NOBAK\\" MODE.
02300	
02400	.BLANK 1
02500	^ALTHOUGH THE STANDARD DEFAULT FOR THE "_/^^BAK#_/NOBAK#_/OLD\\" SET
02600	OF SWITCHES IS "_/^^BAK\\", A USER MAY CHANGE WHAT DEFAULT WITH
02700	AN ^^SOS\\ ^^SWITCH.INI\\ ENTRY; AN INSTALLATION MAY NOW CHANGE THAT
02800	DEFAULT BY REASSEMBLY OF ^^SOS\\ AFTER CHANGING THE "^^DEFBAK\\"
02900	CONDITIONAL ASSEMBLY SWITCH.
03000	
03100	.BLANK 1
03200	.INDENT -6
03300	2.5.14	^BECAUSE PRIOR ^^SOS\\ CODE WOULD NOT RECOVER FROM
03400	"^NO ROOM ON DISK" ERROR WHILE WRITING OUTPUT FILES, ^^SOS\\
03500	NOW SETS "^^DSKFUL#PAUSE\\" DURING EDITING SESSIONS.
03600	^WHEN THE NO-ROOM ERROR THEN OCCURS, ^^SOS\\ WOULD THEN RETURN
03700	TO ^MONITOR LEVEL TO PERMIT THE USER TO ELIMINATE THE
03800	ERROR CONDITION AND THEN RESUME EDITING WITH THE ^MONITOR
03900	"^^CONTINUE\\" COMMAND.
04000	^^SOS\\ RESETS THE "^^DSKFUL\\" SETTING TO THE USER'S PRIOR SETTING
04100	UPON EXIT.
04200	.BLANK 1
04300	^IN ADDITION, THE USER STILL MAY REQUEST ^^SOS\\ TO CHECK THAT ADEQUATE DISK
04400	SPACE EXISTS BEFORE WRITING EACH BLOCK OF A FILE BY SETTING THE _/^^CHECK\\
04500	PARAMETER.
04600	^IF NO ROOM EXISTS, ^^SOS\\ ENTERS A DIALOG WITH THE USER TO PERMIT
04700	CORRECTION OF THE ERROR.
04800	
04900	.BLANK 1
05000	.INDENT -6
05100	2.5.15	^THE FORMAT OF THE "_=^^DISK\\" MESSAGE AND THE "_/^^CHECK\\"
05200	DIAGNOSTIC WARNING HAS BEEN SLIGHTLY REWORDED TO CLARIFY ITS MEANING.
05300	
05400	.BLANK 1
05500	.INDENT -6
05600	2.5.16	^TO CONFORM TO NORMAL ^^DEC\\SYSTEM-10 CONVENTIONS, ^^SOS\\ NOW
05700	LOOKS FOR THE "^^SWITCH.INI\\" OPTION FILE ON THE USER'S DEFAULT PATH
05800	("[-]") AND USES THE USER'S ^^PPN\\ ("[,]") FOR THE "^^???EDS.TMP\\"
05900	AND "^^???EDT.TMP\\" COMMAND FILES.
06000	^WRITING THE COMMAND FILES IN THE USER'S OWN AREA ASSURES THAT
06100	^^SOS\\ COMMANDS WILL REMAIN REMEMBERED WHEN THE USER CHANGES
06200	HIS DEFAULT PATH AND MAKES ^^SOS\\ PERFORM CONSISTENTLY
06300	WHETHER THE FILES ARE WRITTEN ON DISK OR IN ^^TMPCOR\\.
06400	
06500	.BLANK 1
06600	.INDENT -6
06700	2.5.17	^WHERE AN INPUT FILE CAN BE READ, BUT NOT RENAMED OR DELETED
06800	BY ^^SOS\\, ^^SOS\\ NOW ASSUMES THE FILE IS TO READ AS _/^^READONLY\\
06900	AND TYPES AN APPROPRIATE WARNING MESSAGE.
07000	
07100	.BLANK 1
07200	.INDENT -6
07300	2.5.18	^WHEN EDITING EXISTING FILES, ^^SOS\\ ATTEMPTS TO OPTIMIZE DISK
07400	FILE ALLOCATION BY TAKING THE ACTUAL SIZE OF THE OLD FILE AND
07500	PASSING THAT SIZE TO THE ^MONITOR AS AN ESTIMATED FILE SIZE OF
07600	THE NEW FILE BEING CREATED.
07700	^WHERE DISK SPACE IS AVAILABLE, THIS MEANS THAT THE NEW VERSION OF
07800	THE FILE WILL GET CONTIGUOUS ALLOCATED DISK SPACE.
07900	^THIS TENDS TO REDUCE OVERALL DISK SPACE FRAGMENTATION AND INCREASE
08000	THE SPEED AT WHICH THE NEW FILE MAY BE READ.
08100	^HOWEVER, NO EXTRA SPACE WILL BE USED IF THE NEW FILE IS SHORTER
08200	THAN THE OLD; NOR WILL ANYTHING BAD HAPPEN IF THE NEW FILE IS
08300	LONGER THAN THE OLD OR IF NOT ENOUGH CONTIGUOUS SPACE IS
08400	AVAILABLE.
08500	.BLANK 1
08600	^THIS OPTIMIZATION IS DONE BY USING EXTENDED ^^LOOKUP\\ AND ^^ENTER\\
08700	^^UUO\\S.
08800	^SIMILARLY, ^^SOS\\ NOW USED THE ^^CHKACC\\ ^^UUO\\ TO DETERMINE
08900	ACCESS PRIVILEGES FOR ALL FILES BEING READ OR WRITTEN.
09000	^WHEN ^^SOS\\ DETECTS THAT IT CANNOT WRITE A FILE TO A CERTAIN DISK
09100	AREA, IT GIVES THE FATAL MESSAGE
09200	.BLANK 1
09300	.INDENT 6
09400	_?#^INSUFFICIENT#PRIVILEGES#TO#WRITE#FILE
09500	.BLANK 1
09600	AND EXITS TO THE ^MONITOR.
09700	^NO EDITING WORK WILL BE LOST BECAUSE THIS CONDITION WILL BE DETECTED
09800	AT THE START OF AN EDITING SESSION.
09900	.BLANK 1
10000	^THIS CHANGE SHOULD MEAN THAT ^^SOS\\ WILL NEVER BE ABLE TO GET IN THE
10100	SITUATION WHEN EXITING THAT THE USER CANNOT RESPOND THE THE MESSAGE
10200	.INDENT 6
10300	.BLANK 1
10400	_?^FILE#WRITE-PROTECTED.##^TRY#ANOTHER#NAME.
10500	.INDENT 6
10600	^FILE:
10700	.BLANK 1
10800	BECAUSE ^^SOS\\ HAS WRITTEN A TEMPORARY FILE IN A DISK AREA WITH A PROTECTION
10900	WHICH PREVENTS ^^SOS\\ FROM RENAMING OR CHANGING THE PROTECTION OF THE FILE.
11000	^DETERMINING ACCESS PRIVILEGES WITH THE ^^CHKACC\\ ^^UUO\\ MEANS THAT
11100	_[1,2_] USERS MAY EDIT FILES IN ANY DISK AREA REGARDLESS OF THEIR PROTECTION.
11200	
11300	.BLANK 1
11400	.INDENT -6
11500	2.5.19	^BECAUSE ^^SOS\\ REMEMBERS THAT THE FILE BEING EDITED HAS
11600	BEEN CHANGED TO DETERMINE WHETHER TO WRITE A NEW COPY OF THE FILE
11700	WHEN WRAPPING AROUND TO THE BEGINNING, WHEN SAVING THE FILE ("^W"
11800	COMMAND), OR WHEN EXITING ("^E" OR "^G" COMMAND), LOGIC HAS BEEN
11900	ADDED SO THAT CHANGING A LINE TO ITSELF WILL NOT COUNT AS A CHANGE
12000	TO THE FILE.
12100	.BLANK 1
12200	^IN A RELATED IMPROVEMENT, THE ^SAVE COMMAND ("^W") WILL NOT
12300	WRITE A NEW COPY OF THE FILE OR REPOSITION TO THE BEGINNING OF THE
12400	FILE WHEN THE FILE HAS NOT BEEN CHANGED.
12500	^FURTHERMORE, COMMANDS THAT CHANGE THE FILE TO ITSELF ARE NOT
12600	COUNTED BY THE _/^^SAVE\\ AUTO-SAVE FEATURE.
12700	.BLANK 1
12800	^THESE CHANGES WILL REDUCE ^^SOS\\ OVERHEAD.
     
00100	.LEFT MARGIN 6
00200	.TAB STOPS 6
00300	
00400	.BLANK 1
00500	.INDENT -6
00600	2.6	^THE ^^SOS\\ MODE _/^^UPPER\\ OR _/^^LOWER\\ NOW IS
00700	EFFECTIVE TO INVERT THE CASE WHEN IN _/^C128 MODE.
00800	^THIS MAKES MORE SENSE THAT THE PRIOR IMPLEMENTATION, BECAUSE
00900	IF THE USER IS WORKING ON AN UPPER-CASE ONLY (_/^M33) TERMINAL
01000	(S)HE HAS NO CONTROL OVER CASE IN _/^C64 MODE.
01100	^IN CONTRAST, IF THE USER IS WORKING ON UPPER/LOWER CASE
01200	(_/^M37) TERMINALS IN _/^C64 MODE TYPING CHARACTERS OUT IN
01300	INVERTED CASE WHEN THE TERMINAL CAN DISPLAY BOTH
01400	UPPER AND LOWER CASE LETTERS IS LIKELY TO BE CONFUSING.
01500	^THIS MEANS THAT _/^^LOWER\\ MODE CONTROLS THE INVERSION OF
01600	ONLY _/^C128 (NOT _/^C64) UPPER OR LOWER CASE LETTERS.
01700	
01800	.BLANK 1
01900	.INDENT -6
02000	2.7	^INDIRECT COMMAND
02100	FILES MAY NOW INVOKE OTHER INDIRECT COMMAND FILES WITH THE "@"
02200	COMMAND.
02300	^NOTE THAT THIS INVOKATION IS A PERMANENT TRANSFER OF CONTROL TO
02400	THE NEXT INDIRECT FILE, AND IS NOT IN THE NATURE OF A SUBROUTINE CALL.
02500	.BLANK 1
02600	^AS A CONVENIENCE FOR THE USER, REACHING AN END-OF-FILE ON
02700	THE INDIRECT COMMAND FILE WILL NOW NOT CLEAR FURTHER ^^SOS\\
02800	COMMANDS TYPED AHEAD ON THE TERMINAL.
02900	
03000	.BLANK 1
03100	.INDENT -6
03200	2.8	^WHEN AN "=" COMMAND IS READ FROM AN INDIRECT COMMAND FILE,
03300	THE NAME OF THE REQUESTED VARIABLE IS TYPED OUT TO INDICATE THE
03400	USER WHAT IS BEING DISPLAYED.
03500	
03600	.BLANK 1
03700	.INDENT -6
03800	2.9	^WHEN READING COMMANDS FROM AN INDIRECT FILE, THE _^^O
03900	TERMINAL STATUS IS NOT CLEARED BETWEEN COMMANDS, SO THAT THE USER
04000	MAY EASILY SUPPRESS ALL TYPED OUTPUT.
04100	
04200	.BLANK 1
04300	.INDENT -6
04400	2.10	^THE "IMPLIED ." CONVENTION HAS BEEN IMPLEMENTED.
04500	^THIS MEANS THAT WHERE YOU WOULD USE A "." TO INDICATE THE
04600	CURRENT LINE NUMBER (AS IN ".+1"), YOU MAY OMIT THE "." AND ^^SOS\\ WILL
04700	ASSUME IT FOR YOU (I.E., THE ABOVE EXAMPLE ".+1" MAY ALSO BE GIVEN AS "+1").
04800	.BLANK 1
04900	^NORMALLY, WHEN ^^SOS\\ IS IN ^NOVICE MODE (THE DEFAULT) ^^SOS\\ WILL
05000	ASSUME THE "." ONLY IN THE MIDDLE OF THE COMMAND, AS IN "^I_;10" OR
05100	"^D:500".
05200	^WHEN IN ^EXPERT MODE, THE ^^SOS\\ COMMANDS "^D", "^R", "^X", "^M",
05300	"^K", "^A", "^^JU\\", "^J", "_.", "^^VV\\", "^^VU\\", AND "^^VL\\" WHEN TYPED WITHOUT
05400	ANY ARGUMENTS, AS IN "^D_<^^CR\\_>" OR "^A_<^^CR\\_>", WILL
05500	SPECIFY AN OPERATION ON THE CURRENT LINE.
05600	^THUS, THE EXAMPLES GIVEN IF IN ^EXPERT MODE WILL,
05700	RESPECTIVELY, DELETE AND ALTER THE CURRENT LINE.
05800	.BLANK 1
05900	^HOWEVER, THE COMMANDS "^P", "^I", "^L", AND "^N" WILL RETAIN THEIR
06000	CURRENT IMPLEMENTATION FOR AN UNSPECIFIED RANGE.
06100	^THE COMMAND "^P_<^^CR\\_>" WILL PRINT "^^PLINES\\" OF TEXT STARTING AT
06200	THE CURRENT LINE; "^I_<^^CR\\_>" WILL CONTINUE THE PREVIOUS
06300	INSERT OPERATION; AND "^L_<^^CR\\_>" WILL LIST THE ENTIRE
06400	FILE.  ^ALSO, A NULL RANGE FOR THE "^N" COMMAND, AS IN "^N_<^^CR\\_>"
06500	OR "^N50_<^^CR\\_>" WILL RENUMBER THE ENTIRE FILE.
06600	.BLANK 1
06700	^THE ^^SSCC\\ HAS HAD THIS FEATURE IMPLEMENTED FOR SEVERAL YEARS.
06800	^IT HAS PROVEN MOST NATURAL TO USE, AND THEREFORE IS VERY
06900	POPULAR WITH ^BROOKINGS ^^SOS\\ USERS.
07000	
07100	.BLANK 1
07200	.INDENT -6
07300	2.11	^FOR COMPATABILITY BETWEEN THE "^T" AND "^C" COMMANDS
07400	AS COMPARED WITH THE "^I" AND "^R" COMMANDS, THE "^T"
07500	AND "^C" COMMANDS WILL NOW ACCEPT THE INCREMENT DELIMITED BY
07600	A SEMI-COLON AS WELL AS A COMMA.
07700	
07800	.BLANK 1
07900	.INDENT -6
08000	2.12	^FOR THE "^I" AND "^R" COMMANDS, YOU MAY NOW SPECIFY THE
08100	NUMBER OF LINES TO BE INSERTED WITH A "!" AS WELL AS WITH A
08200	";!" DELIMITER.
08300	.BLANK 1
08400	^CARE MUST BE TAKEN FOR THE "^R" COMMAND.  ^THE COMMAND "^RN_!M"
08500	MEANS "DELETE 'M' LINES STARTING AT LINE 'N' AND THEN INSERT USING
08600	THE CURRENT INCREMENT" ^^NOT\\ "DELETE LINE 'N' AND INSERT USING AN
08700	INCREMENT THAT WILL PERMIT 'M' LINES OF INSERTION."
08800	^TO SPECIFY THE LATTER, THE COMMAND WOULD HAVE TO BE
08900	"^RN;_!M", WITH THE ";" SPECIFYING THAT THE "_!M" IS AN INSERTION
09000	COUNT AND NOT A RANGE SPECIFICATION.
09100	^HOWEVER, THE COMMAND "^RN!M!K" IS LEGAL AND SPECIFIES THE DELETION OF
09200	'M' LINES STARTING AT LINE 'N' FOLLOWED BY AN INSERTION WITH AN INCREMENT
09300	WHICH WILL PERMIT 'K' LINES OF TEXT.
09400	.BLANK 1
09500	^WHEN YOU SPECIFY THE NUMBER OF LINES TO BE INSERTED, ^^SOS\\
09600	AUTOMATICALLY COMPUTES THE LARGEST REASONABLE INCREMENT
09700	THAT MAY BE USED TO INSERT THAT NUMBER OF LINES AT THAT
09800	PLACE IN THE FILE.
09900	^THE INCREMENT IS SELECTED FROM THE LIST (1, 2, 4, 5, 10, 20, 25, 40, 50, 100)
10000	BUT CANNOT EXCEED YOUR CURRENT PERMANENT INCREMENT.
10100	
10200	.BLANK 1
10300	.INDENT -6
10400	2.13	^WHEN AN "^I" OR "^R" COMMAND TERMINATES, ^^SOS\\ NOW
10500	REMEMBERS THE INCREMENT BEING USED, AS WELL AS THE POSITION, FOR USE WITH THE
10600	NEXT "^I_<^C^R_>" COMMAND.
10700	
10800	.BLANK 1
10900	.INDENT -6
11000	2.14	^WHEN IN ^NOVICE MODE, THE MESSAGE GIVING THE NUMBER OF LINES DELETED FOR THE "^R"
11100	COMMAND NOW APPEARS BEFORE THE REPLACEMENT LINES ARE INSERTED, AND
11200	NOT AFTERWARD AS BEFORE.
11300	^ALSO, A SIMILAR MESSAGE IS PRODUCED WHEN LINES ARE DELETED
11400	BY THE "^T" COMMAND.
11500	
11600	.BLANK 1
11700	.INDENT -6
11800	2.15	^THE 128-CHARACTER-SET MODE (^C128) ESCAPE CHARACTER HAS BEEN MADE
11900	A USER PARAMETER.
12000	^IT MAY BE SET TO ANY PRINTING SPECIAL CHARACTER; THE DEFAULT IS "_?",
12100	WHICH IS COMPATIBLE WITH OLDER VERSIONS OF ^^SOS\\.
12200	^THE ^^SSCC\\ BELIEVES THAT "_?" IS A PREFERRED ESCAPE CHARACTER
12300	OVER "_'", BECAUSE "_'" HAS SYNTACTIC MEANING IN MANY COMMON
12400	PROGRAMMING LANGUAGES, AMONG THEM ^^MACRO\\, ^^FORTRAN\\, AND
12500	^^COBOL\\, WHILE "_?" DOES NOT HAVE SUCH A WIDE-SPREAD MEANING.
12600	^IN ANY EVENT, THIS IMPLEMENTATION PERMITS AN INSTALLATION TO
12700	CHANGE THE DEFAULT ESCAPE CHARACTER BY SETTING THE ASSEMBLY
12800	PARAMETER "^^DFC128\\", AND PERMITS EACH USER TO HAVE HIS
12900	DEFAULT SET VIA ^^SWITCH.INI\\.
13000	^TO SET THE ESCAPE CHARACTER, THE COMMAND
13100	.INDENT 6
13200	.BLANK 1
13300	_/^C128:_<CHARACTER_>
13400	.BLANK 1
13500	IS USED, WHERE "_<CHARACTER_>" IS THE DESIRED ^C128 ESCAPE CHARACTER.
13600	^THE COMMAND
13700	.INDENT 6
13800	.BLANK 1
13900	_/^C128
14000	.BLANK 1
14100	WITH NO ARGUMENT SETS ^C128 MODE BUT DOES NOT CHANGE THE ESCAPE CHARACTER,
14200	AND THE COMMAND "=^^CASE\\" DISPLAYS THE CURRENT ^C128 ESCAPE CHARACTER
14300	WHEN ^^SOS\\ IS IN ^C128 MODE.
14400	.BLANK 1
14500	^THE RULES FOR ^C128 CHARACTER MAPPING ARE CONSISTENT WITH CURRENT
14600	IMPLEMENTATION;  THE CURRENT ^C128 ESCAPE CHARACTER ALWAYS MAPS
14700	INTO ITSELF FOR INPUT OR OUTPUT WHILE ALL OTHER CHARACTERS FOLLOW THE
14800	CURRENT ^C128 MAPPINGS.
14900	^ITEM 2.51, BELOW, DESCRIBES THE ADDITION OF ^RUBOUT AS A NEW
15000	_/^C128 CHARACTER.
15100	.BLANK 1
15200	^IF "_?" IS THE CURRENT _C128 ESCAPE
15300	CHARACTER WHILE "_/^C128" IS IN EFFECT TYPING
15400	"_?_?" ON INPUT WOULD SUPPLY ONE "_?" WHILE ONE "_?" IN
15500	A TEXT FILE WOULD TYPE OUT AS "_?_?".
15600	^AS A FURTHER CONVENIENCE, BOTH OF THE CHARACTERS "_?" AND "_'", IF
15700	NOT THE ^C128 ESCAPE CHARACTER, MAP INTO _<^^BELL\\_> (_^^G) SO THAT
15800	THAT CHARACTER MAY BE ENTERED WITH EITHER "_?" OR "_'" AS THE ESCAPE
15900	CHARACTER, E.G., AS "?'" OR "'?", RESPECTIVELY.
16000	^NOTE THAT SETTING THE _/^C128 ESCAPE CHARACTER TO ANY SPECIAL CHARACTER
16100	OTHER THAN "?" OR "'", WHILE LEGAL, WILL PREEMPT THE NORMAL USE OF A
16200	_/^C128 CHARACTER VALUE.
     
00100	.BLANK 1
00200	.INDENT -6
00300	2.16	^THE RENUMBER COMMAND ("^N") HAS BEEN IMPROVED.
00400	^IF THE FIRST ARGUMENT (THE INCREMENT) IS OMITTED, THE CURRENT
00500	PERMANENT INCREMENT IS USED.  ^THIS MAKES "^N" CONSISTENT WITH
00600	"^I", "^R", "^T", AND "^C".
00700	.BLANK 1
00800	^SECOND, TO PREVENT THE CREATION OF "^ORDER" ERRORS, THE ERROR
00900	MESSAGE "%^ILLEGAL STARTING LINE NUMBER" ("%^^ISLN\\" IN ^EXPERT
01000	MODE) IS GIVEN IF THE SPECIFIED STARTING LINE NUMBER FOR THE FIRST
01100	PAGE IS NOT GREATER THAN THE PRECEEDING LINE.
01200	.BLANK 1
01300	^THIRD, THE STARTING LINE NUMBER FOR SUBSEQUENT PAGES (I.E., WHEN
01400	A "^N" COMMAND RENUMBERS MORE THAN ONE PAGE) IS TAKEN TO BE THE SPECIFIED
01500	INCREMENT IF ONE WAS SPECIFIED, OR THE "^^START\\" PARAMETER IF
01600	NONE WAS GIVEN. (^SEE 2.17, BELOW.)
01700	^FURTHERMORE, THE USER MAY SPECIFY THE STARTING LINE NUMBER
01800	FOR SUBSEQUENT PAGES WITH A NEWLY-ADDED FOURTH PARAMETER TO THE
01900	RENUMBER COMMAND.
02000	.BLANK 1
02100	^FOURTH, AND PERHAPS MOST IMPORTANT, WHEN THE THIRD ARGUMENT
02200	(STARTING LINE NUMBER FOR THE FIRST PAGE) IS OMITTED, IT DEFAULTS
02300	TO THE SPECIFIED FIRST LINE NUMBER OF THE RENUMBERING RANGE WHEN
02400	THERE IS A PREVIOUS LINE ON THE SAME PAGE, AND OTHERWISE TO THE STARTING
02500	LINE NUMBER FOR SUBSEQUENT PAGES.
02600	^THIS CHANGE MEANS, AS A PRACTICAL MATTER, THE USER NEVER HAS
02700	TO SPECIFY A STARTING LINE NUMBER FOR NORMAL RENUMBERING
02800	OPERATIONS.
02900	
03000	.BLANK 1
03100	.INDENT -6
03200	2.17	^THE ^^SOS\\ PARAMETERS "^^START\\", "^^STEP\\", AND
03300	"^^INCR\\" WILL ALWAYS BE USED FOR DETERMINING LINE NUMBERS.
03400	^^START\\ DEFINES THE FIRST LINE NUMBER ON A NEW PAGE, WHERE
03500	A PAGE IS BEING CREATED OR DOES NOT HAVE ANY LINES; ^^STEP\\
03600	DEFINES THE INCREMENT TO USE WHEN READING EXISTING UNSEQUENCED
03700	^^ASCII\\ FILES; AND ^^INCR\\ IS THE INCREMENT TO USE WHEN
03800	CREATING OR COPYING LINES.
03900	
04000	.BLANK 1
04100	.INDENT -6
04200	2.18	^THE FILE-SPECIFICATION ON THE ^COPY COMMAND ("^C") WHEN
04300	COPYING FROM ANOTHER FILE WILL NOW DEFAULT TO THE PREVIOUS FILE
04400	FROM WHICH TEXT WAS COPIED.
04500	^IF NO PREVIOUS COPY-FROM-FILE OPERATION HAS BEEN PERFORMED,
04600	ATTEMPTING TO DEFAULT THE FILE SPECIFICATION WILL BE AN ILLEGAL
04700	COMMAND.
04800	^THE FILE SPECIFICATION IS DEFAULTED BY OMITTING IT FROM THE
04900	NORMAL COPY COMMAND.
05000	^WHEN A FILE SPECIFICATION IS DEFAULTED, ^^SOS\\ WILL
05100	INDICATE THE FILE BEING USED BY TYPING "^COPY:#_<FILE#SPEC_>"
05200	TO THE USER.
05300	^IF THE DEFAULT IS NOT DESIRED, TYPING "^E^Q" WILL TERMINATE THE
05400	COMMAND IF THE SEARCH MODE (_/^S OPTION) HAS BEEN TAKEN.
05500	^THIS FEATURE SHOULD FACILITATE COPYING MULTIPLE PIECES OF
05600	TEXT FROM THE SAME FILE.
05700	
05800	.BLANK 1
05900	.INDENT -6
06000	2.19	^SEVERAL IMPROVEMENTS HAVE BEEN MADE TO THE ^TRANSFER ("^T")
06100	AND ^COPY ("^C") COMMANDS.
06200	^FIRST, THE INFORMATIONAL MESSAGES INDICATING THAT AN INCREMENT HAS
06300	BEEN CHOSEN (THE "^^INC1=\\" AND "^^INC2=\\" MESSAGES) WILL BE
06400	SUPPRESSED WHEN IT WAS NOT NECESSARY TO CHOOSE AN INCREMENT, EVEN THOUGH
06500	THE USER DID NOT SUPPLY ONE.
06600	^THIS CAN OCCUR WHEN A SINGLE LINE IS INSERTED BETWEEN TWO LINES, OR WHEN
06700	DURING A MULTIPLE-PAGE INSERTION THE LAST PAGE TRANSFERRED IS GIVEN A PAGE
06800	OF ITS OWN.
06900	.BLANK 1
07000	^SECOND, WHEN IT IS NECESSARY TO CHOOSE AN INCREMENT, AND THE USER DID NOT
07100	SUPPLY ONE, ^^SOS\\ WILL APPLY THE SAME ALGORITHM USED FOR INSERTIONS
07200	(SEE 2.12, ABOVE) AND SELECT EITHER THE CURRENT INCREMENT OR THE LARGEST
07300	ROUNDED INCREMENT THAT WILL PERMIT ALL LINES TO BE INSERTED.
07400	^ALSO, WHEN SELECTING AN INCREMENT ^^SOS\\ WILL NOW REASONABLY GENERATE
07500	THE FIRST LINE NUMBER OF THE INSERTED TEXT.
07600	.BLANK 1
07700	^THIRD, IF DURING A ^COPY OR ^TRANSFER OPERATION WHILE ^^SOS\\ IS
07800	MOVING ALL TEXT TO BE INSERTED TO FREE CORE IT RUNS OUT OF CORE,
07900	THE "%^NOT ^ENOUGH ^CORE" ("%^^NEC\\") ERROR MESSAGE WILL INDICATE
08000	THE LINE AND PAGE NUMBER AT WHICH CORE WAS EXCEEDED.
08100	^THIS WILL PERMIT THE USER TO BREAK THE ^COPY OR ^TRANSFER OPERATION
08200	INTO SMALLER CHUNKS.
08300	
08400	.BLANK 1
08500	.INDENT -6
08600	2.20	^THE DEFINITION OF THE ^PRINT COMMAND WITH NO ARGUMENTS ("^P_<^^CR\\_>") HAS
08700	BEEN "PRINT '^^PLINE\\' LINES STARTING AT THE CURRENT LINE".
08800	^TO ASSIST THE USER IN PAGING DOWN THROUGH THE FILE WITH THIS COMMAND,
08900	^^SOS\\ WILL NOT REPRINT THE CURRENT LINE OF SUCCESSIVE "^P_<^^CR\\_>"
09000	COMMANDS; RATHER, THE FIRST SUCH COMMAND WILL PRINT AS BEFORE WHILE
09100	ALL SUCCESSIVE COMMANDS WILL START PRINTING AT THE NEXT LINE.
09200	^THIS MEANS THAT LINES WILL NOT GET TYPED TWICE WHEN DOING SUCCESSIVE
09300	"^P_<^^CR\\_>" COMMANDS.
09400	
09500	.BLANK 1
09600	.INDENT -6
09700	2.21	^THE BUG THAT ANY "SAVE" OPERATION, EITHER A "^W" COMMAND OR
09800	AN AUTO-SAVE FUNCTION REQUESTED BY THE /^^SAVE\\ OR /^^ISAVE\\
09900	PARAMETER, WHILE READING AN INDIRECT COMMAND FILE RESULTED IN AN
10000	"^^IO\\ TO UNASSIGNED CHANNEL" ERROR HAS BEEN FIXED.
10100	
10200	.BLANK 1
10300	.INDENT -6
10400	2.22	^THE ^MOVE COMMAND ("_._<LINE NUMBER_>"), WHICH SETS THE
10500	CURRENT LINE NUMBER TO THE SPECIFIED LINE, HAS BEEN MADE MORE
10600	FLEXIBLE.
10700	^IT NO LONGER REQUIRES THAT THE SPECIFIED LINE EXIST; IF IS DOES
10800	NOT, THE CURRENT LINE IS SET TO THE NEXT LINE FOLLOWING THE
10900	SPECIFIED LINE.
11000	^ALSO, THE COMMAND "_._/N" WILL SET THE CURRENT LINE TO BE THE FIRST
11100	LINE ON PAGE 'N', OR TO LINE '^^START\\' (SEE 2.17, ABOVE) IF THE
11200	PAGE IS EMPTY.
11300	
11400	.BLANK 1
11500	.INDENT -6
11600	2.23	^^SOS\\ NOW HAS THE "_/^^CREATE\\" AND "_/^^EDIT\\"
11700	SWITCHES.
11800	"_/^^CREATE\\" TELLS ^^SOS\\ NOT TO READ AN EXISTING FILE AND
11900	TO GIVE THE USER AN OPTION TO RENAME HIS CREATED FILE OR DELETE
12000	THE EXISTING FILE OF THE SAME NAME BEFORE WRITING THE NEW VERSION
12100	OF THAT FILE.
12200	"_/^^EDIT\\" CAUSES ^^SOS\\ TO OPERATE AS
12300	IT PREVIOUSLY ALWAYS DID, READING AND SUPERCEDING EXISTING
12400	FILES BUT PERMITTING THE USER TO CREATE NONEXISTENT FILES.
12500	"_/^^EDIT\\" IS THE DEFAULT WHEN ^^SOS\\ IS RUN BY THE ^^RUN\\ ^^UUO\\,
12600	OR BY THE ^^RUN\\, ^R, ^^SOS\\, OR ^^EDIT\\ COMMANDS; "_/^^CREATE\\" IS
12700	THE DEFAULT WHEN ^^SOS\\ IS RUN WITH THE ^^CREATE\\
12800	COMMAND.
12900	"_/^^CREATE\\" AND "_/^^EDIT\\" SWITCHES  OVERRIDE THE _/^^READONLY\\
13000	
13100	SWITCH; THOSE THREE SWITCHES ARE MUTUALLY EXCLUSIVE.
13200	^THESE SWITCHES MAY ONLY BE GIVEN ON THE INITIAL COMMAND LINE
13300	OR IN ^^SWITCH.INI\\.
13400	.BLANK 1
13500	^WHEN ^^SOS\\ IS IN A "_/^^CREATE\\" MODE, THE "_=^^NAME\\"
13600	COMMAND WILL NOW TYPE "^CREATING <FILE#SPEC>" TO INDICATE
13700	THIS.
13800	^SIMILARLY, WHEN ^^SOS\\ IS IN _/^^READONLY\\ MODE, THE "=^^NAME\\"
13900	COMMAND WILL TYPE "^READING <FILE#SPEC>".
14000	
14100	.BLANK 1
14200	.INDENT -6
14300	2.24	^SOME CHANGES TO INTERNAL TEXT BUFFER HANDLING HAVE
14400	MADE THE NEW ^^SOS\\ MORE EFFICIENT
14500	THAN EARLIER VERSIONS.
14600	^WHILE SOME IMPROVEMENTS APPLY TO ALL COMMANDS WHICH OPERATE ON
14700	TEXT, THE LARGEST IMPROVEMENTS WILL BE SEEN FOR ^INSERT,
14800	^REPLACE, ^COPY, AND ^TRANSFER COMMANDS.
14900	^AT THE EXTREME, A 44% REDUCTION IN ^^CPU\\ TIME HAS BEEN OBSERVED
15000	WHILE DOING A LARGE (50 TEXTUAL PAGE) ^COPY OPERATION.
     
00100	.BLANK 1
00200	.INDENT -6
00300	2.25	^AS A CONVENIENCE TO THE USER, AND TO CONFORM ^^SOS\\ TO
00400	NORMAL ^^DEC\\SYSTEM-10 COMMAND SCANNING, THE USER MAY NOW OMIT
00500	THE TRAILING "_]" ON FILE SPECIFICATIONS WHEN THAT WOULD BE THE
00600	LAST CHARACTER OF THE LINE.
00700	
00800	.BLANK 1
00900	.INDENT -6
01000	2.26	^ON CERTAIN TYPES OF TERMINALS (^TEXAS ^INSTRUMENTS ^SILENT 700 AT 300 BAUD, FOR
01100	EXAMPLE) THE "_<^^LF\\_>" COMMAND (PRINT NEXT LINE) OVERPRINTS PART
01200	OF THE SEQUENCE NUMBER OF THE LINE PRINTED, DUE TO A ^MONITOR
01300	DESIGN DEFICIENCY IN TERMINAL CHARACTER HANDLING.
01400	^TO ASSIST THE USERS WHEN THE HAPPENS, THE "_/^^DPY\\" MODE MAY BE SET.
01500	^NOTE THAT "_/^^DPY\\" IS DESIGNED TO PRODUCE TERMINAL OUTPUT COMPRESSED
01600	FOR DISPLAY TERMINALS (^^CRT\\S) AND THIS ADDED BENEFIT IS UNINTENDED.
01700	^FOR EXAMPLE, "_/^^DPY\\" MODE ALSO SUPPRESSES THE BLANK LINE NORMALLY
01800	TYPED BEFORE THE "^PAGE N" OUTPUT.
01900	
02000	.BLANK 1
02100	.INDENT -6
02200	2.27	^THE "^DECIDE" OPTION FOR THE ^SUBSTITUTE COMMAND ("^S"),
02300	FOR THE ^FIND COMMAND ("^F" - SEE ITEM 2.47, BELOW),
02400	AND FOR CONTEXT LINE NUMBERS ("_$_<STRING_>$_<^^CR\\_>" AS A
02500	LINE NUMBER) HAS BEEN IMPROVED.
02600	.BLANK 1
02700	^FIRST, WHEN ^^SOS\\ IS WAITING FOR A USER DECISION, IT WILL
02800	CLEAR THE TERMINAL'S _^^O STATUS, TYPE THE LINE TO BE ACCEPTED,
02900	AND THEN PROMPT WITH THE CHARACTERS "^D*".
03000	.BLANK 1
03100	^SECOND, WHEN AN INCORRECT RESPONSE HAS BEEN TYPED FOR THE
03200	^DECIDE INPUT, ^^SOS\\ WILL TYPE "?#", CLEAR TYPE-AHEAD,
03300	AND RING THE TERMINAL'S
03400	AUDIBLE ALARM (BELL) TO INDICATE THE ERROR.
03500	^IT WILL THEN WAIT FOR A
03600	CORRECT INPUT.
03700	.BLANK 1
03800	^THIRD, WHEN THE "^RUBOUT" OR "^DELETE" RESPONSE IS TYPED
03900	TO INDICATE THAT THE CHANGES OR THE LINE IS NOT ACCEPTED
04000	OR WHEN "^E" OR "^Q" IS TYPED TO TERMINATE A ^FIND OR ^SUBSTITUTE COMMAND,
04100	WHEN YOU ARE NOT IN ^EXPERT MODE ^^SOS\\ WILL TYPE AN
04200	APPROPRIATE CONFIRMATION.
04300	.BLANK 1
04400	^FOURTH, THE GLOBAL ^^SOS\\ PARAMETER "_/^^DECIDE\\" WILL NOW
04500	BE APPLIED TO CONTEXT LINE NUMBER SEARCHES AS WELL AS
04600	^FIND AND ^SUBSTITUTE COMMANDS.
04700	.BLANK 1
04800	^FIFTH, THE EFFECT OF THE ",^D" PARAMETER FOR THE ^FIND AND ^SUBSTITUTE
04900	COMMANDS AND FOR CONTEXT LINE NUMBER SEARCHES IS TO
05000	INVERT THE SETTING OF "_/^^DECIDE\\".
05100	^THUS, IF "_/^^DECIDE\\" IS SET, THE ",^D" PARAMETER WILL
05200	TELL ^^SOS\\ NOT TO PERFORM THE COMMAND IN ^DECIDE MODE.
05300	
05400	.BLANK 1
05500	.INDENT -6
05600	2.28	^THE ^EXACT-MATCH PARAMETER ",^E", ON THE ^FIND AND
05700	^SUBSTITUTE COMMANDS, AND ON THE CONTEXT LINE NUMBER SEARCH, HAS
05800	BEEN EXTENDED TO HAVE FEATURES ANALOGOUS TO THE ^DECIDE OPTION
05900	DESCRIBED IN 2.27, ABOVE.
06000	.BLANK 1
06100	^FIRST, FOR THE ^ALTER COMMAND ("^A") AND FOR THE ^EXTEND COMMAND ("^X")
06200	THE EXACT-MATCH PARAMETER (",^E") HAS BEEN ADDED.
06300	^THIS PERMITS THE USER THE CONTROL WHETHER THE CASE OF A LETTER IS
06400	CONSIDERED WHEN DOING CHARACTER COMPARISONS FOR THE "^S", "^K",
06500	AND "@" ^ALTER-MODE COMMANDS, AS DESCRIBED IN 2.4.16, ABOVE.
06600	.BLANK 1
06700	^SECOND, THE PARAMETERS "_/^^EXACT\\" AND "_/^^NOEXACT\\" HAVE
06800	BEEN IMPLEMENTED TO CONTROL THE DEFAULT FOR CHARACTER COMPARISONS.
06900	_/^^EXACT\\ IMPLIES THAT UPPER CASE LETTERS ARE DISTINCT FROM
07000	LOWER CASE LETTERS; ^/^^NOEXACT\\ TREATS UPPER AND LOWER CASE LETTERS
07100	AS EQUIVALENT WHEN COMPARING CHARACTERS.
07200	^THE COMMAND "=^^EXACT\\" WILL DISPLAY THE "_/^^EXACT\\"
07300	SWITCH SETTING; THE INITIAL CONDITION IS "_/^^NOEXACT\\".
07400	.BLANK 1
07500	^THIRD, THE DEFINITION OF THE ",^E" PARAMETER HAS BEEN CHANGED TO
07600	MAKE ",^E" INVERT THE CURRENT "_/^^EXACT\\" DEFAULT VALUE.
07700	.BLANK 1
07800	^FOURTH, THE BUG WHICH CAUSED THE ",^E" PARAMETERS ON THE ^FIND
07900	AND ^SUBSTITUTE COMMANDS TO INTERACT HAS BEEN ELIMINATED.
08000	
08100	.BLANK 1
08200	.INDENT -6
08300	2.29	^SEVERAL NEW PATTERN MATCHING SPECIAL FUNCTIONS HAVE BEEN
08400	IMPLEMENTED, SO THAT ^^SOS\\ AND ^^TECO\\ ^VERSION 23 WOULD HAVE
08500	SIMILAR CAPABILITIES.
08600	^THESE FUNCTIONS ARE IMPLEMENTED AS SPECIAL CHARACTERS, SIMILAR TO
08700	THE EXISTING PATTERN MATCHING FUNCTIONS IN ^^SOS\\; THESE
08800	CHARACTERS MAY BE ENTERED AS EITHER "_/^C128" DOUBLE CHARACTERS
08900	OR BY TYPING THE APPROPRIATE CONTROL CHARACTERS.
09000	^ALL PATTERN-MATCHING SPECIAL CHARACTERS ARE NOW AS FOLLOWS:
09100	
09200	.TEST PAGE 28
09300	.BLANK 1
09400	.TAB STOPS 16,25,31,40,50
09500	^CHARACTER	^C128 REP	^NEW?	^USE?		^DESCRIPTION
09600	.BREAK
09700	---------	--------	----	----	--------------------------------
09800	
09900	.LEFT MARGIN 40
10000	.TAB STOPS 18,25,30,40
10100	.NOJUSTIFY
10200	.FILL
10300	
10400	.INDENT -31
10500	_^_^	_?7	^NO	^ANY	"^QUOTE" NEXT CHARACTER; THE NEXT CHARACTER
10600	IS TAKEN FOR ITSELF WITHOUT ANY SPECIAL INTERPRETATION
10700	
10800	.INDENT -31
10900	_^^E	_?_%	^NO	^PATTERN	"^NOT" NEXT CHARACTER
11000	
11100	.INDENT -31
11200	_^^X	_?9	^YES	^PATTERN	^ANY ALPHAMERIC (0-9, ^A-^Z, A-Z)
11300	
11400	.INDENT -31
11500	_^^A	_?_!	^YES	^PATTERN	^ANY LETTER (^A-^Z, A-Z)
11600	
11700	.INDENT -31
11800	_^^F	_?_&	^YES	^PATTERN	^ANY UPPER-CASE LETTER (^A-^Z)
11900	
12000	.INDENT -31
12100	_^^W	_?2	^YES	^PATTERN	^ANY LOWER-CASE LETTER (A-Z)
12200	
12300	.INDENT -31
12400	_^^P	_?_+	^YES	^PATTERN	^ANY DECIMAL DIGIT (0-9)
12500	
12600	.INDENT -31
12700	_^_\	_?_<	^YES	^PATTERN	^SPACE OR ^HORIZONTAL ^TAB
12800	
12900	.INDENT -31
13000	#|	_?_:	^NO	^PATTERN	^ANY SEPARATOR (^NOTE THIS CHARACTER
13100	IS VERTICAL BAR, 174 OCTAL, NOT BACK SLASH AS PRODUCED ON SOME LINE PRINTERS.)
13200	
13300	.INDENT -31
13400	_^^T(*)	_?_/	^NO	^PATTERN	^ANY CHARACTER (EQUIVALENT TO "^NOT ^END OF LINE")
13500	
13600	
13700	.INDENT -31
13800	_^_]	_?_>	^YES	^PATTERN	^END OF LINE (EQUIVALENT TO "^NOT ^ANY ^CHARACTER")
13900	.INDENT -31
14000	_^^N	_?_)	^NO	^F,^S	"^ANY NUMBER OF" NEXT CHARACTER (ZERO OR MORE OCCURRENCES)
14100	
14200	
14300	.INDENT -31
14400	_^^V	_?1	^YES	^F,^S	"^ONE OR MORE OF" THE NEXT CHARACTER
14500	.INDENT -31
14600	_^^O	_?_*	^NO	^STRING	^SUBSTITUTE STRING NUMBER DELIMITER
14700	
14800	.INDENT -31
14900	_^^B	_?_"	^NO	^STRING	^NEXT SUBSTITUTE STRING
15000	
15100	.BLANK 1
15200	.TAB STOP 6
15300	.LEFT MARGIN 6
15400	
15500	#(*)  ^NEEDS "^^SET TTY RTCOMPATABILITY\\" TO BE AVAILABLE FOR ^^SOS\\ USE.
15600	
15700	.BLANK 1
15800	.JUSTIFY
15900	.FILL
16000	
16100	^NOTICE THAT ALL CHARACTERS IDENTIFIED AS "^PATTERN" USAGE MAY BE
16200	USED AS ARGUMENTS FOR ^ALTER MODE CHARACTER-COMPARISON COMMANDS;
16300	AND ALL CHARACTERS IDENTIFIED AS EITHER "^PATTERN" OR "^F,^S" USAGE
16400	MAY BE USED IN CONTEXT LINE SEARCH STRINGS.
16500	.BLANK 1
16600	^A BRIEF DESCRIPTION OF THE ^^SOS\\ PATTERN-MATCHING ALGORITHM MIGHT
16700	BE IN ORDER HERE:
16800	^THE ^^SOS\\ PATTERN-MATCHING ALGORITHM WILL ALWAYS MATCH THE
16900	SHORTEST, LEFTMOST STRING THAT CORRESPONDS TO THE GIVEN PATTERN.
17000	(^THIS IS THE SAME ALGORITHM THE ^^SNOBOL\\ LANGUAGES USE.)#
17100	^THIS AFFECTS THE USER IN SEVERAL SIGNIFICANT WAYS:
17200	^FIRST, THE "ANY NUMBER OF" OPERATOR LIKES TO MATCH ZERO
17300	CHARACTERS, SINCE THAT IS THE SHORTEST POSSIBLE STRING.
17400	^WHEN "ANY NUMBER OF" IS USED AS THE FIRST OR LAST MATCH IN
17500	A PATTERN IT WILL ALWAYS MATCH ZERO CHARACTERS; IN THOSE
17600	POSITIONS IT IS REDUNDANT!
17700	^SECOND, SINCE THE "END OF LINE" OPERATOR MAY MATCH EITHER THE
17800	BEGINNING OR THE END OF A LINE, WHEN IT IS GIVEN FIRST IN A
17900	PATTERN IT WILL MATCH THE BEGINNING AND WHEN GIVEN LAST IT WILL MATCH
18000	THE END.
18100	^OBVIOUSLY, WHEN IT IS GIVEN IN THE MIDDLE OF A PATTERN OTHER THAN
18200	ONE CONSISTING OF "ANY NUMBER OF" OPERATORS COLLLAPSING TO ZERO, THAT PATTERN
18300	WILL NEVER SUCCESSFULLY MATCH ANYTHING.
18400	
18500	.BLANK 1
18600	.INDENT -6
18700	2.30	^THE OPTIONAL MODIFIERS (",^E", ",^D", ",NNN", ETC.) WHICH MAY BE
18800	SPECIFIED ON THE ^FIND, ^SUBSTITUTE, ^PRINT, AND ^EXTEND COMMANDS
18900	AND ON THE CONTEXT LINE SEARCH STRING MAY NOW BE SPECIFIED IN
19000	ANY ORDER.
19100	^HOWEVER, EACH MODIFIER MAY ONLY BE SPECIFIED ONCE.
19200	^FOR THE SYNTAX OF THE ^FIND COMMAND, SEE ITEM 2.47, BELOW.
19300	.BLANK 1
19400	^FOR THE ^SUBSTITUTE ("^S") COMMAND, IF ",^N" (SUPPRESS
19500	PRINTING THE CHANGED LINE) IS TYPED AND ^DECIDE MODE IS IN EFFECT
19600	BECAUSE EITHER "_/^^DECIDE\\" HAS BEEN SET OR THE ",^D" OPTION WAS
19700	GIVEN, THE EFFECT IS TO PERFORM SUBSTITUTIONS USING THE NORMAL
19800	^DECIDE OPERATIONS UNTIL THE "^G" REPLY (LEAVE ^DECIDE MODE) IS
19900	GIVEN, AT WHICH TIME NO FURTHER SUBSTITUTIONS ARE TYPED.
20000	^THIS COULD BE VERY USEFUL FOR "DEBUGGING" A ^SUBSTITUTE COMMAND
20100	BEFORE PERFORMING A NUMBER OF SUBSTITUTIONS.
20200	
20300	.BLANK 1
20400	.INDENT -6
20500	2.31	^CHANGES HAVE BEEN MADE IN THE DEFAULT RANGE AND REPEAT
20600	COUNTS FOR THE ^FIND AND ^SUBSTITUTE COMMANDS, AND FOR THE CONTEXT
20700	LINE SEARCH, TO MAKE THE DEFAULTS MORE CONSISTENT AND RATIONAL.
20800	.BLANK 1
20900	^FOR THE ^FIND COMMAND, THE
21000	DEFAULT WHEN A SEARCH STRING HAS BEEN GIVEN WITHOUT A RANGE
21100	OR COUNT (I.E., A COMMAND LIKE "^F_<STRING_>$", THE NORMAL CASE)
21200	IS TO SEARCH FROM THE CURRENT LINE TO THE END OF THE
21300	FILE FOR THE NEXT SINGLE OCCURRENCE OF THE STRING.
21400	^WHEN THE SEARCH STRING IS NOT GIVEN, EITHER FOR A "^F" OR
21500	"^F$" COMMAND, THE DEFAULT IS SEARCH FROM THE NEXT LINE TO
21600	THE END OF THE PRECEEDING ^FIND COMMAND RANGE (WHICH COULD BE
21700	TO THE END OF FILE BY THE PRECEEDING DEFAULT) FOR THE NEXT
21800	SINGLE OCCURRENCE OF THE SEARCH STRING GIVEN IN THE PRECEEDING
21900	^FIND COMMAND.
22000	.BLANK 1
22100	^FOR THE ^SUBSTITUTE COMMAND, THE DEFAULT WHEN THE OLD AND
22200	NEW STRINGS HAVE BEEN GIVEN WITHOUT A RANGE OR COUNT IS TO
22300	SEARCH FROM THE CURRENT LINE TO THE END OF THE FILE AND MAKE
22400	A REPLACEMENT ONLY IN THE FIRST LINE FOUND WHICH CONTAINS THE
22500	MATCHING STRING.
22600	^WHEN NO SEARCH STRINGS HAVE BEEN SPECIFIED, AS IN "^S_<^^CR\\_>", THE DEFAULT IS
22700	TO SEARCH FROM THE NEXT LINE TO THE END OF THE PRECEEDING
22800	^SUBSTITUTE RANGE (WHICH MIGHT ALSO HAVE DEFAULTED TO END
22900	OF FILE) AND MAKE THE SUBSTITUTION ON THE NEXT SINGLE MATCHING LINE.
23000	^THIS IS DONE TO MAKE "^S" FUNCTION SIMILARLY TO THE "^F"
23100	COMMAND, AND TO MINIMIZE THE HARM DONE IF ONE TYPES "^S"
23200	ACCIDENTLY.
23300	^HOWEVER, TO PERMIT THE USER TO PERFORM A POTENTIALLY LARGE
23400	NUMBER OF PRE-SPECIFIED SUBSTITUTIONS, THE DEFAULT FOR
23500	"^S$" COMMAND IS TO SEARCH FROM THE NEXT LINE TO THE END OF
23600	THE PRECEEDING ^SUBSTITUTE RANGE AND MAKE ALL SUBSTITUTIONS.
23700	
23800	.BLANK 1
23900	^THE CONTEXT LINE SEARCH FOLLOWS THE SAME CONVENTIONS AS THE ^FIND
24000	COMMAND.
24100	.BLANK 1
24200	^STARTING THE SEARCH RANGE WITH THE CURRENT LINE WHENEVER THE USER TYPES
24300	A NEW SEARCH STRING (RATHER THAN DEFAULTING THE SEARCH STRING WITH "^F$..._<^^CR\\_>",
24400	"^F_<^^CR\\_>", "^S$..._<^^CR\\_>", OR "^S_<^^CR\\_>") ASSURES THAT
24500	^^SOS\\ WILL NEVER MISS A POTENTIALLLY MATCHING LINE.
24600	^BECAUSE THE IMPROVEMENT IS AN OBVIOUS EXTERNAL CHANGE TO
24700	THE ^^SOS\\ SPECIFICATIONS, THIS IMPROVEMENT IS UNDER THE
24800	CONTROL OF THE "^^DEFCRL\\" CONDITIONAL ASSEMBLY SWITCH.
     
00100	.BLANK 1
00200	.INDENT -6
00300	2.32	^THE OUTPUT PRODUCED BY THE "=^^STRING\\" COMMAND
00400	HAS BEEN LIMITED TO DISPLAY ONLY THE ^FIND, ^SUBSTITUTE, OR
00500	CONTEXT LINE SEARCH STRINGS THAT THE USER HAS ACTUALLY PREVIOUSLY
00600	DEFINED.
00700	
00800	.BLANK 1
00900	.INDENT -6
01000	2.33	^THE "_/^^NAME\\" COMMAND HAS BEEN MADE ILLEGAL WHEN
01100	"_/^^READONLY\\" IS IN EFFECT, SO THAT THE USER IS PROHIBITED
01200	FROM MAKING A NAME CHANGE ON THE FILE BEING READ AND TO SIMPLIFY
01300	SOME INTERNAL LOGIC.
01400	_/^^NAME\\ IS ALSO ILLEGAL ON THE INITIAL COMMAND LINE OR AS A
01500	^^SWITCH.INI\\ PARAMETER FOR MUCH THE SAME REASONS.
01600	
01700	.BLANK 1
01800	.INDENT -6
01900	2.34	^AS A CONVENIENCE FOR USERS RUNNING ^^SOS\\ ON SLOW
02000	TERMINALS, AND AS AN EFFICIENCY IMPROVEMENT, ^^SOS\\ WILL NOT
02100	TYPE OUT THE ^HORIZONTAL ^TAB FOLLOWING THE SEQUENCE NUMBER
02200	WHEN TYPING A NULL LINE.
02300	
02400	.BLANK 1
02500	.INDENT -6
02600	2.35	^TO ASSIST USERS IN DOCUMENTING ^^SOS\\ INDIRECT COMMAND
02700	FILES, AND TO PERMIT ANNOTATION OF ^^SOS\\ TERMINAL SESSIONS,
02800	^^SOS\\ NOW HAS A COMMENT COMMAND (";").
02900	^WHEN ";" IS TYPED AS AN ^^SOS\\ COMMAND, ANY TEXT FOLLOWING
03000	THE ";" THROUGH THE NEXT ^CARRIAGE ^RETURN OR ^LINE ^FEED CHARACTER IS IGNORED.
03100	
03200	.BLANK 1
03300	.INDENT -6
03400	2.36	^SEVERAL OPTIONS HAVE BEEN ADDED TO THE ^EXIT
03500	("^E") AND ^GO ("^G") COMMANDS.
03600	^THESE ARE "^N" TO UNSEQUENCE (AS IN "^E^N" OR "^G^N", WHICH IS
03700	IDENTICAL TO "^E^S" OR "^G^S" BUT IS CONSISTENT WITH ^^PIP\\'S
03800	_/^N UNSEQUENCING SWITCH); "^X" TO EXIT (AS IN "^E^X" OR "^G^X",
03900	WHICH IS IDENTICAL TO "^E" OR "^G" BUT COULD HELP OUT THE USER
04000	FAMILIAR WITH ^^TECO\\); AND THE NEW FACILITY "^T".
04100	^THE "^E^T" OR "^G^T" COMMAND IS DESIGNED TO PRODUCE CONTINUOUS
04200	TEXTUAL-FORMAT OUTPUT FILES IN WHICH BOTH THE ^^SOS\\ SEQUENCE
04300	NUMBERS AND ^PAGE ^MARKS (INCLUDING THE ^FORM ^FEED CHARACTERS)
04400	HAVE BEEN REMOVED.
04500	.BLANK 1
04600	^THIS CONTINUOUS-TEXT OUTPUT OPTION MAY
04700	ALSO BE SELECTED BY THE "_/^^TEXT\\" COMMAND.
04800	^SINCE "_/^^TEXT\\", "_/^^SEQUENCE\\" AND "_/^^UNSEQUENCE\\"
04900	ARE MUTUALLY EXCLUSIVE OPTIONS, THE SETTING OF "_/^^TEXT\\"
05000	IS DISPLAYED BY THE "=^^SEQUENCE\\" COMMAND.
05100	
05200	.BLANK 1
05300	.INDENT -6
05400	2.37	^SOME ADDITIONAL SUPPORT FOR USERS EDITING ^^BASIC\\
05500	PROGRAMS WITH ^^SOS\\ HAS BEEN PROVIDED.
05600	.BLANK 1
05700	^FIRST, THE DEFAULT FOR EDITING OR CREATING ANY FILE WITH
05800	THE EXTENSION '^^BAS\\' IS NOW "_/^^BASIC\\".
05900	^HOWEVER, THIS MAY BE OVERRIDDEN BY THE "_/^^NOBASIC\\"
06000	SWITCH ON THE INITIAL COMMAND LINE OR IN ^^SWITCH.INI\\.
06100	.BLANK 1
06200	^SECOND, THE DEFAULT PROCESSOR TO RUN FOR A "^G" COMMAND
06300	WHEN "_/^^BASIC\\" IS SET IS NOW "^^SYS:BASIC\\".
06400	.BLANK 1
06500	^THIRD, BECAUSE THE ^^SOS\\ SEQUENCE NUMBER IS PART OF THE
06600	SYNTAX OF THE ^^BASIC\\ LANGUAGE, THE ^RENUMBER, ^COPY,
06700	OR ^TRANSFER COMMANDS, WHICH WILL MODIFY THE EXISTING
06800	SEQUENCE NUMBERING, PRODUCE THE QUERY "^DESTROY#NUMBERING#IN#^^BASIC\\#FILE?"
06900	WHEN NOT IN ^EXPERT MODE.
07000	^THE USER MAY REPLY "^Y" OR "^N" TO THE QUESTION; THE "^N" ANSWER
07100	ABORTS THE COMMAND AND NO HARM IS DONE.
07200	.BLANK 1
07300	^FOURTH, FOR COMPATABILITY WITH ^^BASIC\\,
07400	^^SOS\\ WILL NOT GIVEN THE "?^BAD ^^BASIC\\ FILE FORMAT"
07500	ERROR WHEN A ^FORM-^FEED CHARACTER IS THE LAST CHARACTER IN A
07600	^^BASIC\\ FILE.
07700	^INSTEAD, THE ^FORM ^FEED IS IGNORED.
07800	
07900	.BLANK 1
08000	.INDENT -6
08100	2.39	^TO PERMIT THE USER TO TRADE OFF RESPONSE TIME AND CORE
08200	SIZE AGAINST THE AMOUNT OF TEXT IN CORE AND FILE WRAP-AROUND TIME,
08300	THE "_/^^CORE\\:NN" SWITCH MAY BE GIVEN ON THE INITIAL COMMAND LINE.
08400	^THIS PERMITS THE USER TO SPECIFY THE MINIMUM AMOUNT OF CORE ("NN")
08500	IN ^K (1024 WORDS = 1 ^K) THAT ^^SOS\\ WILL RESERVE FOR THE IN-CORE
08600	TEXT BUFFER.
08700	^^SOS\\ WILL ACTUALLY ALLOCATE THE MINIMUM CORE SIZE SPECIFIED
08800	AND THEN UTILIZE ALL AVAILABLE CORE UP TO THE NEXT ^K (OR ^P) BOUNDARY.
08900	^THE DEFAULT MINIMUM CORE SIZE IS 1.5^K, WHICH TURNS OUT TO BE
09000	EQUIVALENT TO A "_/^^CORE\\:1" SPECIFICATION.
09100	^THE DEFAULT TEXT BUFFER SIZE MAY BE CHANGED BE REDEFINING THE ASSEMBLY
09200	PARAMETER "^^DEFCOR\\".
09300	.BLANK 1
09400	^USERS MAY DETERMINE THE FIRST LINE NUMBER CURRENTLY IN CORE WITH
09500	THE "_=^^LOC\\" COMMAND AND MAY DETERMINE THE CURRENT CORE USED
09600	BY ^^SOS\\ WITH THE ^MONITOR'S _^^T COMMAND.
09700	^THE "_/^^CORE\\" SWITCH ALLOWS ^^SOS\\ USERS ON ^VIRTUAL ^MEMORY SYSTEMS
09800	TO KEEP LARGER SECTIONS OF TEXT FILES IN CORE.
09900	
10000	.BLANK 1
10100	.INDENT -6
10200	2.40	^THE _^^C TRAPPING IMPLEMENTATION HAS BEEN IMPROVED.
10300	^FIRST, WHEN ^^SOS\\ IS AT COMMAND LEVEL (AN ASTERISK PROMPT HAS
10400	BEEN TYPED), TYPING _^^C FOLLOWED BY EITHER A "^C" (CONTINUE) OR
10500	"^R" (REENTER) RESPONSE WILL NOW REPROMPT WITH ANOTHER ASTERISK.
10600	
10700	.BLANK 1
10800	^SECOND, WHEN TYPING COMMANDS OR TEXT INTO ^^SOS\\, TYPING _^^C
10900	FOLLOWED BY EITHER "^R" (REENTER) OR "^E" (EXIT) WILL TAKE
11000	EFFECT IMMEDIATELY.
11100	^IN THE PRIOR IMPLEMENTATION, THE USER HAD TO TYPE A
11200	^CARRIAGE ^RETURN FOR THE REENTRY OR EXIT TO OCCUR.
11300	.BLANK 1
11400	^THIRD, THE EXPLANATORY TEXT TYPED IN RESPONSE TO "^H" HAS
11500	BEEN RE-WRITTEN TO MAKE IT EASIER TO UNDERSTAND BY THE
11600	CASUAL ^^SOS\\ USER.
11700	
11800	.BLANK 1
11900	.INDENT -6
12000	2.41	^AS A USER-SELECTED OPTION, ^^SOS\\ WILL NOW
12100	PRODUCE A MORE COMPACT FILE FORMAT FOR SEQUENCE-NUMBERED OUTPUT FILES.
12200	^IN THIS FILE FORMAT, LINES ARE NOT LINE-BLOCKED; THERE IS NO
12300	WASTED SPACE IN THE FILE FOR ZERO "SPACE-FILLER" WORDS EXCEPT
12400	THAT THE LAST SINGLE WORD IN A BLOCK MIGHT BE ZERO TO PREVENT
12500	A SEQUENCE NUMBER WORD AND ITS FOLLOWING ^HORIZONTAL ^TAB FROM
12600	BEING SPLIT BETWEEN TWO BLOCKS.
12700	^IN ONE TEST OF A FIFTY-BLOCK ^^MACRO\\ SOURCE FILE, THIS OPTION
12800	RESULTED IN A 4% REDUCTION IN FILE SIZE.
12900	^THE ACTUAL REDUCTION IN SIZE DEPENDS ON THE CONTENTS OF THE
13000	DATA FILE BEING COMPRESSED AND THE CLUSTER SIZE OF FILE
13100	STRUCTURE ON WHICH THE FILE IS WRITTEN.
13200	^WHATEVER SIZE REDUCTION IS ACHIEVED WILL ALSO BE REFLECTED IN
13300	A CORRESPONDING DECREASE IN THE TRANSFER TIME EVERY TIME THE
13400	FILE IS SUBSEQUENTLY READ.
13500	
13600	.BLANK 1
13700	^THIS OPTION MAY BE SELECTED BY THE "_/^^BLOCK\\" AND "_/^^COMPRESS\\"
13800	SWITCHES, WHICH MAY BE GIVEN ONLY ON THE INITIAL ^^SOS\\ COMMAND
13900	LINE OR IN ^^SWITCH.INI\\.
14000	"_/^^BLOCK\\" SPECIFIES THAT LINE-BLOCKING, THE PREVIOUS ^^SOS\\
14100	FILE FORMAT, SHOULD BE WRITTEN; THIS IS THE DEFAULT.
14200	"_/^^COMPRESS\\" SPECIFIES THE NEW COMPRESSED FILE FORMAT SHOULD
14300	BE WRITTEN.
14400	^THESE SWITCHES ONLY APPLY TO THE FORMAT OF FILES WRITTEN BY
14500	^^SOS\\ (INCLUDING TEMPORARY WORK FILES); ALL VERSIONS OF ^^SOS\\
14600	WILL READ FILES WRITTEN IN EITHER FILE FORMAT.
14700	^THE COMMAND "_=^^BLOCK\\" WILL DISPLAY THE FILE FORMAT IN WHICH
14800	THE FILE IS BEING WRITTEN.
14900	^THE DEFAULT SWITCH VALUE IS SET WITH THE CONDITIONAL ASSEMBLY SWITCH
15000	"^^DEFBLK\\".
15100	
15200	.BLANK 1
15300	^WE BELIEVE THAT ALL PROCESSORS WILL ACCEPT BOTH LINE-BLOCKED AND
15400	COMPRESSED ^^SOS\\ FILES WITHOUT CHANGE; HOWEVER, BECAUSE NOT
15500	EVERY PROCESSOR HAS BEEN TESTED THE DEFAULT HAS BEEN SET TO
15600	_"_/^^BLOCK\\".
15700	^FOR EXAMPLE, WE HAVE CONFIRMED THAT ^^FILCOM\\ WILL NOT FIND ANY DIFFERENCES
15800	BETWEEN LINE-BLOCKED AND COMPRESSED VERSIONS OF ONE SEQUENCE-NUMBERED FILE.
15900	^IF A USER DETERMINES THAT ALL THE PROGRAMS THAT (S)HE RUNS WILL
16000	ACCEPT COMPRESSED ^^SOS\\ FILES, THAT USER'S OWN DEFAULT MAY BE
16100	CHANGED WITH A ^^SWITCH.INI\\ PARAMETER.
16200	^USERS ARE REQUESTED TO REPORT ANY PROGRAMS WHICH WILL NOT READ
16300	COMPRESSED ^^SOS\\ FILES.
     
00100	.BLANK 1
00200	.INDENT -6
00300	2.42	^THE CORRECT RANGE OF DELETED LINES IS REPORTED IN ^NOVICE MODE FOR THE
00400	_"^D", "^R", AND "^T" COMMANDS, WHEN THE RANGE SPANNED MORE THAN
00500	ONE PAGE AND NO LINES WERE DELETED ON THE FIRST PAGE.
00600	
00700	.BLANK 1
00800	.INDENT -6
00900	2.43	^THE RANGE DEFINITION FOR THE ^DELETE ("^D") COMMAND
01000	HAS BEEN CHANGED TO CORRESPOND TO THAT OF THE ^TRANSFER ("^T")
01100	AND ^COPY ("^C") COMMANDS.
01200	^THIS CHANGE ONLY AFFECTS ^DELETE OPERATIONS IN WHICH THE FIRST
01300	LINE NUMBER AS NOT BEEN SPECIFIED, AS IN "^D/2" OR "^D/3:/5".
01400	^IN THESE CASES, THE ^DELETE COMMAND NOW DELETES BOTH THE 
01500	^PAGE ^MARK PRECEEDING THE SPECIFIED PAGE (BEFORE PAGE 2, AND
01600	PAGE 3, RESPECTIVELY IN THE EXAMPLES) AS WELL AS THE
01700	CONTENTS OF THE SPECIFIED PAGES.
01800	^THUS, THE FIRST EXAMPLE WOULD DELETE THE CONTENTS OF PAGE 2 AS
01900	WELL AS THE ^PAGE ^MARK PRECEEDING PAGE 2, WHILE THE SECOND
02000	EXAMPLE WOULD DELETE THE CONTENTS OF, AND ^PAGE ^MARKS PRECEEDING,
02100	^PAGES 3, 4, AND 5.
02200	^THIS WOULD BE THE SAME TEXT WHICH WOULD BE MOVED IF THE
02300	RANGE SPECIFIER WAS USED AS THE SOURCE LINES OF A ^TRANSFER OR
02400	^COPY COMMAND.
02500	^THIS CHANGE ALSO MEANS THAT THE CONFIRMATION MESSAGE "^MASSIVE DELETE OK?"
02600	IS PRODUCED ONLY WHEN ^^SOS\\ IS GOING TO DELETE ONE OR MORE
02700	^PAGE ^MARKS FROM THE FILE BEING EDITED.
02800	
02900	.BLANK 1
03000	.INDENT -6
03100	2.44	^BUGS HAVE BEEN FIXED WITH THE ^REPLACE COMMAND SO THAT
03200	MULTIPLE-PAGE REPLACEMENTS WILL NEVER BE INSERTED SO AS TO
03300	CREATE AN ^ORDER ERROR.
03400	
03500	.BLANK 1
03600	.INDENT -6
03700	2.45	^THE ^KILL ^PAGE-^MARK COMMAND ("^K") HAS BEEN EXTENDED
03800	TO PERMIT MULTIPLE ^PAGE ^MARKS TO BE KILLED WITH A SINGLE
03900	COMMAND.
04000	^THE SYNTAX OF THE ^K COMMAND IS NOW "^K/N:/M", WHERE "N" IS
04100	THE PAGE NUMBER OF THE FIRST ^PAGE ^MARK TO BE KILLED AND
04200	"M" IS THE PAGE NUMBER OF THE LAST ^PAGE ^MARK TO BE
04300	KILLED.
04400	^AS BEFORE, ONLY ONE ^PAGE ^MARK MAY BE REMOVED, AS IN "^K/2".
04500	
04600	.BLANK 1
04700	^IN ^^SOS\\ NOTATION, THE "/N" ^PAGE ^MARK IS THE ONE PRECEEDING
04800	PAGE "N".
04900	^BECAUSE THERE IS NO ^PAGE ^MARK PRECEEDING THE FIRST PAGE OF
05000	A FILE (^^SOS\\ TREATS THE BEGINNING OF THE FILE AS IF IT WERE
05100	A ^PAGE ^MARK), THE COMMAND "^K/1" (OR THE EQUIVALENT "^K/_^")
05200	CAN'T DO ANYTHING.
05300	^HOWEVER, FOR CONSISTENCY, THE COMMAND "^K/1" IS LEGAL;
05400	FURTHERMORE, "/1" MAY BE
05500	USED AS THE FIRST PAGE OF RANGE OF ^PAGE ^MARKS TO BE DELETED.
05600	^THUS, FOR EXAMPLE, THE COMMAND "^K/1:/*" WILL DELETE ALL
05700	^PAGE ^MARKS IN A FILE.
05800	^TO PREVENT ORDER ERRORS WHEN DELETING ^PAGE ^MARKS, USE THE
05900	COMMAND "^^NP\\" FIRST TO MONOTONICALLY RENUMBER THE AFFECTED
06000	PAGES OF THE FILE.
06100	
06200	.BLANK 1
06300	.INDENT -6
06400	2.46	^TO ELIMINATE ONE POTENTIAL SOURCE OF CONFUSION, ^^SOS\\
06500	WILL NOT PERMIT USERS TO NUMBER A LINE AS "00000", BY INSERTION,
06600	REPLACEMENT, TRANSFER, COPY, OR RENUMBERING.
06700	^IF USERS ATTEMPT TO DO SO, ^^SOS\\ WILL START THE FIRST LINE
06800	NUMBER AT THE INCREMENT BEING USED FOR THE OPERATION.
06900	
07000	.BLANK 1
07100	.INDENT -6
07200	2.47	^THREE SIGNIFICANT EXTENSIONS HAVE BEEN MADE TO THE ^FIND
07300	("^F") COMMAND.
07400	.BLANK 1
07500	^FIRST, A "FIND#NOT" OPTION (",-") HAS BEEN ADDED; WHEN IN "FIND#NOT"
07600	MODE THE ^FIND COMMAND REPORTS A MATCH ON EVERY LINE WHICH DOES NOT
07700	CONTAIN THE GIVEN PATTERN.
07800	^WE EXPECT THIS FACILITY TO BE MOST USEFUL FOR APPLICATIONS SUCH AS
07900	FINDING ALL NON-COMMENT LINES IN A ^^FORTRAN\\ PROGRAM.
08000	.BLANK 1
08100	^SECOND, A ^DECIDE OPTION (",^D") HAS BEEN ADDED; THIS IS VERY
08200	SIMILAR TO THE ^DECIDE OPTION OF THE ^SUBSTITUTE COMMAND.
08300	.BLANK 1
08400	^THIRD, THE NUMBER OF OPERATIONS THAT MAY BE PERFORMED ON
08500	LINES FOUND BY A ^FIND COMMAND HAS BEEN INCREASED FROM ONE (^ALTER)
08600	TO SIX (^ALTER, ^INSERT AFTER, ^REPLACE, ^DELETE, ^MARK, AND
08700	^EXTEND).
08800	^THESE OPERATIONS MAY BE PERMANENTLY SET ON THE ^FIND COMMAND
08900	(AS IN ",^A" FOR ^ALTER), OR IF NONE HAS BEEN SPECIFIED ON THE COMMAND
09000	ONE MAY BE SELECTED AS A ^DECIDE OPTION REPLY (AS IN "^A" TO ALTER THE FOUND LINE,
09100	SIMILAR TO THE ^SUBSTITUTE COMMAND ^DECIDE OPTION IMPLEMENTATION).
09200	
09300	.TEST PAGE 10
09400	.BLANK 1
09500	^THUS, THE COMPLETE ^FIND COMMAND SYNTAX IS AS FOLLOWS:
09600	.BLANK 1
09700	.INDENT 51
09800	[,^A]
09900	.INDENT 51
10000	[,^I]
10100	.INDENT 51
10200	[,^R]
10300	.INDENT 6
10400	^F#<STRING>#$#[<RANGE>]#[,NNN]#[,^E]#[,^N]#[,^D]#[,^K]#[,-]
10500	.INDENT 51
10600	[,^M]
10700	.INDENT 51
10800	[,^X]
10900	.BLANK 1
11000	^BY ITEM 2.30, ABOVE, THE COMMAND MODIFIERS (OPTIONAL ARGUMENTS
11100	PRECEEDED BY A COMMA) MAY BE GIVEN IN ANY ORDER AND IN ANY COMBINATION.
11200	^HOWEVER, ONLY ONE OF THE OPERATIONS (^ALTER, ETC.) MAY BE
11300	SPECIFIED ON A SINGLE ^FIND COMMAND.
11400	^ALSO, NOTICE THAT THE ^DELETE OPERATION IS SPECIFIED WITH THE
11500	LETTER "^K", BECAUSE "^D" IS USED FOR THE ^DECIDE OPTION.
11600	
11700	.BLANK 1
11800	^THE EFFECT OF EACH OF THESE NEW OPTIONS IS AS FOLLOWS:
11900	.BLANK 1
12000	.INDENT 3
12100	^DECIDE (",^D"): ^THE FOUND LINE IS TYPED (ONLY THE LINE NUMBER IF
12200	",^N" PARAMETER HAS BEEN GIVEN) AND THE "^D*" PROMPT IS GIVEN,
12300	AS DESCRIBED IN ITEM 2.27, ABOVE.
12400	^THE LEGAL RESPONSES ARE "#" (ACCEPT THE LINE), ^RUBOUT (REJECT
12500	THE LINE), "^E" OR "^Q" (TERMINATE THE ^FIND COMMAND), "^G"
12600	(ACCEPT THE LINE AND TERMINATE ^DECIDE OPTION), AND IF NO
12700	OPERATION HAS BEEN SPECIFIED ANY OPERATION MAY BE REQUESTED USING
12800	THE OPERATION LETTER ("^A", "^I", "^R", "^K", "^M", OR "^X").
12900	^THE ^DECIDE OPTION WAS PRIMARILY IMPLEMENTED TO PERMIT THE USER TO
13000	CONTROL WHAT LINES WERE OPERATED ON BY A PRE-SELECTED OPERATION.
13100	^HOWEVER, IT IS ALSO USEFUL TO EXPLORING A FILE BY GIVING A
13200	LARGE RANGE AND HIGH REPEAT COUNT ON THE ^FIND COMMAND, AND THEN
13300	TERMINATING THE ^FIND OR OPERATING ON THE FOUND LINES BY THE
13400	PROPER ^DECIDE REPLY.
13500	.BLANK 1
13600	.INDENT 3
13700	^INSERT (",^I"): ^THE FOUND LINE IS TYPED AND A SEQUENCE NUMBER
13800	IS CHOSEN AND TYPED TO PERMIT INSERTION OF A SINGLE LINE RIGHT AFTER THE FOUND LINE.
13900	.BLANK 1
14000	.INDENT 3
14100	^REPLACE (",^R"): ^THE FOUND LINE IS TYPED AND THEN DELETED.
14200	^IN ^NOVICE MODE, THE "^LINE DELETED" MESSAGE IS TYPED.
14300	^THEN THE LINE'S SEQUENCE NUMBER IS TYPED TO PERMIT INSERTION OF A SINGLE LINE AT
14400	THE SAME PLACE.
14500	.BLANK 1
14600	.INDENT 3
14700	^DELETE (",^K"): ^THE FOUND LINE IS TYPED AND THEN DELETED.
14800	^IN ^NOVICE MODE, THE "^LINE DELETED" MESSAGE IS TYPED.
14900	.BLANK 1
15000	.INDENT 3
15100	^MARK (",^M"): ^THE FOUND LINE IS TYPED AND A ^PAGE ^MARK INSERTED
15200	BEFORE THE FOUND LINE, THUS MAKING IT THE FIRST LINE ON A NEW PAGE.
15300	^UNLESS "_/^^NONUMBER\\" IS SET, THE NEW PAGE NUMBER IS TYPED.
15400	.BLANK 1
15500	.INDENT 3
15600	^EXTEND (",^X"): ^THE FOUND LINE IS TYPED IN ^ALTER MODE (UNLESS
15700	",^N" HAS BEEN SPECIFIED)
15800	AND THE USER CAN TYPE EXTRA TEXT ON THE END OF THE LINE.
15900	.BLANK 1
16000	.INDENT 3
16100	^ALTER (",^A"): ^FUNCTIONS AS PRESENTLY IMPLEMENTED.
16200	^IN NORMAL OPERATION, THE ^ALTER-MODE CURSOR IS POSITIONED BEFORE
16300	THE MATCHING SEARCH STRING IN THE FOUND LINE; IN "FIND NOT" MODE
16400	THE CURSOR REMAINS POSITIONED AT THE LEFT MARGIN (SEE ITEM 2.4.11,
16500	ABOVE).
16600	.BLANK 1
16700	^NOTE FOR BOTH ^INSERT AND ^REPLACE, IF AN ^ALTMODE ("$") IS TYPED
16800	AS THE FIRST CHARACTER OF THE LINE NOTHING IS INSERTED.
16900	^HOWEVER, IF AN ^ALTMODE IS USED TO TERMINATE THE LINE OF INSERTED TEXT,
17000	THERE IS NO SPECIAL ACTION.
     
00100	.BLANK 1
00200	.INDENT -6
00300	2.48	^THE "FIND#NOT" FACILITY (DESCRIBED IN 2.47, ABOVE) MAY ALSO
00400	BE USED FOR A CONTEXT LINE SEARCH.
00500	^THE (",-") OPERATOR IS USED TO SPECIFY "FIND#NOT" FOR A CONTEXT LINE
00600	SEARCH, JUST AS IT IS USED FOR THE ^FIND COMMAND.
00700	
00800	.BLANK 1
00900	.INDENT -6
01000	2.49	^^SOS\\ WILL NOW PERMIT SWITCHES TO BE GIVEN IN THE COMMAND
01100	STRING BETWEEN THE INPUT AND OUTPUT FILE SPECIFICATIONS, AS IN
01200	.INDENT 6
01300	.BLANK 1
01400	^^.SOS##FILE.NEW/UNSEQ=FILE.OLD\\
01500	.BLANK 1
01600	^HOWEVER, THE USER SHOULD BE AWARE THAT ^^SOS\\ SWITCHES ARE NOT
01700	FILE-SPECIFIC, I.E., THE SWITCH IS NOT ASSOCIATED WITH THE FILESPEC
01800	IT FOLLOWS; RATHER, THIS CHANGE MERELY PERMITS THE USER TO TYPE
01900	^^SOS\\ COMMAND STRINGS WITH MORE FLEXIBILITY.
02000	
02100	.BLANK 1
02200	.INDENT -6
02300	2.50	^THE ^STANFORD-TYPE CASE INVERSION COMMANDS ("^^VV\\", "^^VU\\",
02400	AND "^^VL\\") HAVE BEEN IMPLEMENTED.
02500	^THESE COMMANDS TAKE AS ARGUMENTS A RANGE OF LINES, OPTIONALLY
02600	FOLLOWED BY ",^S" TO SUPPRESS PRINTING LINE NUMBERS, AND
02700	OPERATE ON THE CASE OF ALL LETTERS FOUND ON ALL LINES WITHIN THE RANGE;
02800	ALL THE LINES IN THE RANGE ARE TYPED.
02900	^THE COMMANDS ARE "^^VV\\", INVERT CASE; "^^VU\\", SET TO UPPER CASE;
03000	AND "^^VL\\", SET TO LOWER CASE.
03100	
03200	.BLANK 1
03300	.INDENT -6
03400	2.51	^IN _/^C128 MODE, THE ^RUBOUT CHARACTER (177 OCTAL) MAY NOW
03500	BE ENTERED INTO TEXT OR USED AS A SEARCH CHARACTER BY TYPING THE
03600	CHARACTER PAIR "_?_\".
03700	^AS BEFORE, ^RUBOUT WILL TYPE OUT IN ^C128 MODE AS "_?_\".
03800	
03900	.BLANK 1
04000	.INDENT -6
04100	2.52	^WHEN IN _/^^NONUMBER\\ MODE, ^^SOS\\ WILL NOW SUPPRESS
04200	THE NEXT "*" COMMAND FOLLOWING A "^P" OR CASE-INVERSION ("^^VV\\",
04300	"^^VU\\", OR "^^VL\\") COMMAND WHEN THE ",^S" OPTION IS TYPED.
04400	
04500	.BLANK 1
04600	.INDENT -6
04700	2.53	^AS AN AID TO USERS WHO ENTER PRIMARILY LOWER-CASE TEXT
04800	WITH ^^SOS\\ VIA BOTH UPPER AND UPPER-LOWER CASE ^^ASCII\\
04900	TERMINALS, ^^SOS\\ WILL NOW FORCE _/^^UPPER\\ AS WELL AS _/^M37
05000	WHEN RUN FROM A TERMINAL THAT HAS "^^SET#TTY#LC\\" IN EFFECT.
05100	^THIS CHANGE PERMITS SUCH USERS TO HAVE _/^^LOWER\\ SET IN THEIR
05200	^^SOS\\ ^^SWITCH.INI\\ FILES, SO THAT _/^^LOWER\\ WILL APPLY
05300	WHEN USING ^^SOS\\ FROM UPPER-CASE-ONLY ^^ASCII\\ TERMINALS, SUCH
05400	AS THE ^TELETYPE ^MODEL 33, BUT _/^^UPPER\\ WILL BE SET FOR
05500	UPPER/LOWER CASE ^^ASCII\\ TERMINALS, SINCE THE USER CAN CONTROL
05600	CASE WITH THAT TERMINAL'S SHIFT KEY.
05700	^IF THIS FEATURE IS NOT DESIRED, THE USER MAY OVERRIDE IT BY
05800	SETTING THE _/^M37 SWITCH.
05900	
06000	.BLANK 1
06100	.INDENT -6
06200	2.54	^^SOS\\ NOW SUPPORTS THE ^^SAIL\\ COMPILER'S SYNTAX-ERROR INTERFACE.
06300	^THIS FEATURE GIVES THE ^^SAIL\\ USER THE OPTION, WHEN A ^^SAIL\\
06400	SYNTAX ERROR IS DETECTED, OF IMMEDIATELY EDITING THE ERRONEOUS
06500	FILE, BEGINNING AT THE LINE WHERE THE ERROR WAS DETECTED.
06600	
06700	.BLANK 1
06800	.INDENT -6
06900	2.55	^TO COMPENSATE FOR TERMINAL OUTPUT TIMING PROBLEMS, ^^SOS\\
07000	NOW HAS A SPECIAL ROUTINE WHICH MAKES SURE ALL OUTPUT GENERATED BY ^^SOS\\
07100	HAS BEEN TYPED OR SUPPRESSED BEFORE _^^O TERMINAL STATUS IS CLEARED.
07200	(^SEE ^^SPR\\ 10-17094, ^DECEMBER 1, 1975 ^^DEC\\SYSTEM-10 ^DISPATCH, P. 57).
07300	^^SOS\\ CLEARS _^^O BEFORE TYPING THE "*" PROMPT, BEFORE TYPING ANY ERROR
07400	MESSAGES, AND BEFORE TYPING ANY MESSAGES THAT WILL REQUIRE A RESPONSE
07500	FROM THE USER.
07600	
07700	.BLANK 1
07800	.INDENT -6
07900	2.56	^AS A SAFETY MEASURE TO PREVENT THE ACCIDENTAL DELETION OF
08000	EDITED FILES, THE ^^ED\\ COMMAND (^EXIT WITH DELETION) NOW ASKS FOR
08100	A CONFIRMATION BY TYPING
08200	.BLANK 1
08300	.INDENT 6
08400	^REALLY#DELETE#THE#FILE?#(^Y#OR#^N)
08500	.BLANK 1
08600	^IF YOU TYPE "^N", ^^SOS\\ IGNORES THE "^^ED\\" COMMAND
08700	AND RETURNS TO ASTERISK LEVEL.
08800	^IF YOU TYPE "^Y", ^^SOS\\ DELETES THE FILE AND EXITS, AS BEFORE.
08900	^SEE ITEM 2.5.11, ABOVE, FOR A DESCRIPTION OF THE EFFECT OF THE
09000	"^^ED\\" COMMAND.
09100	
09200	.BLANK 1
09300	.INDENT -6
09400	2.57	^TO ASSIST USERS IN ALIGNING TEXT TO SPECIFIC COLUMNS
09500	WITHIN A FILE, ^^SOS\\ NOW HAS THE "_=^^COLUMN\\ COMMAND.
09600	^THIS COMMAND TYPES A TEMPLATE, SHOWING COLUMN
09700	NUMBERS, ACROSS THE WIDTH OF THE TERMINAL.
09800	^THE WIDTH OF THE TERMINAL IS DETERMINED BY THE "^^SET#TTY#WIDTH\\"
09900	COMMAND (INITIALLY SET TO 72 BY THE ^MONITOR FOR MOST
10000	TERMINALS).
10100	^THE COLUMN TEMPLATE HAS THE FORMAT
10200	.BLANK !
10300	.INDENT 6
10400	123456789#123456789#123456789#123456789#123...ETC.
10500	.BLANK 1
10600	AND RESPECTS THE _/^^NONUMBER\\ SWITCH, WHICH
10700	CAUSES SEQUENCE NUMBERS TO BE SUPPRESSED.
10800	
10900	.BLANK 1
11000	.INDENT -6
11100	2.58	^AS AN ABBREVIATION FOR COMMON RANGE SPECIFICATIONS,
11200	^^SOS\\ NOW RECOGNIZES CERTAIN SYMBOLIC RANGES.
11300	^THESE ARE AS FOLLOWS:
11400	.TEST PAGE 10
11500	.BLANK 1
11600	.LEFT MARGIN 45
11700	.TAB STOPS 15,30,45
11800	.INDENT -34
11900	^SYMBOLIC RANGE	^REPLACING	##^MEANING
12000	.INDENT -30
12100	^^BF\\:...	_^_/_^:...	^BEGINNING OF FILE
12200	.INDENT -30
12300	^^BF\\_!...	_^_/_^!...	##(^SAME)
12400	.INDENT -30
12500	_...:^^EF\\	_...:_*_/_*	^END OF FILE
12600	.INDENT -30
12700	##^^EF\\	_^_/_^_:_*_/_*	^ENTIRE FILE
12800	.INDENT -30
12900	^^BF:EF\\	_^_/_^_:_*_/_*	##(^SAME)
13000	.BLANK 1
13100	.LEFT MARGIN 6
13200	.TAB STOP 6
13300	^THESE SYMBOLIC RANGES MAY BE USED AS PART OF ANY RANGE
13400	SPECIFICATION (E.G., ON A ^FIND COMMAND).
13500	^HOWEVER, THEY MAY NOT BE USED AS A LINE NUMBER (E.G., ON AN
13600	^INSERT COMMAND), WITH LINE OR PAGE NUMBER ARITHMETIC (E.G.,
13700	^^EF\\-10), OR ANY COMBINATION OTHER THAN AS SHOWN (^^BF\\,
13800	^^EF:...\\, ^^EF!...\\, _...:^^BF\\ ARE ALL ILLEGAL.)
13900	.BLANK 1
14000	^THE SYMBOLIC RANGE SPECIFICATIONS DIFFER FROM THE "_^_/_^" AND
14100	"_*_/_*" LINE NUMBERS IN THAT "^^BF\\" AND "^^EF\\" REPRESENT
14200	THE LOWEST OR HIGHEST LINES THAT POSSIBLY COULD BE IN A FILE
14300	WHILE THE "_^" AND "*" FORMS REPRESENT THE CURRENT LOWEST OR HIGHEST
14400	LINES.
14500	^THIS MEANS THAT SYMBOLIC RANGES ARE MORE EFFICIENT SINCE THEY
14600	DO NOT HAVE TO INSPECT THE FILE TO FIND AN ACTUAL LOWEST OR HIGHEST
14700	LINE NUMBER.
14800	^THUS, USE OF THE "^^BF\\" AND "^^EF\\" RANGE SPECIFICATIONS MAY
14900	PREVENT UNNECESSARY WRAP-AROUNDS OF THE FILE BEING EDITED.
15000	
15100	.BLANK 1
15200	.INDENT -6
15300	2.59	^THE ERROR MESSAGE "_%#^ILLEGAL#WHEN#^^READONLY\\" ("_%^^IRO\\"
15400	IN _/^^EXPERT\\ MODE) HAS BEEN ADDED TO BETTER IDENTIFY THE ERROR
15500	MESSAGE GIVEN WHEN AN ^^SOS\\ COMMAND WHICH WOULD MODIFY THE
15600	FILE (^C, ^D, ^I, ^J, ^^JU\\, ^^JR\\, ^^JL\\, ^^JC\\, ^^JW\\,
15700	^K, ^M, ^N, ^R, ^S, ^T, ^^VV\\, ^^VL\\, ^^VU\\, ^W, ^X) IS
15800	TYPED WHILE IN _/^^READONLY\\ MODE.
15900	^PREVIOUSLY, THIS ERROR WAS IDENTIFIED AS "_%#^ILLEGAL#COMMAND"
16000	(_%^^ILC\\).
     
00100	.PAGE
00200	.INDENT -6
00300	3.0	^^KNOWN BUGS\\, ^^DEFICIENCIES\\, AND ^^SUGGESTIONS\\.
00400	.BLANK 1
00500	.INDENT -6
00600	3.1	^IN ^ALTER MODE, THE COMMANDS "-^K" AND "-^S" OPERATE
00700	THROUGH THE SPECIFIED CHARACTER, WHILE IN A FORWARD DIRECTION
00800	THEY ONLY OPERATE TO THE CHARACTER.
00900	^THIS HAS NOT BEEN CHANGED BECAUSE IT MIGHT HAVE BEEN INTENDED BY
01000	PRIOR ^^SOS\\ DESIGNERS.
01100	
01200	.BLANK 1
01300	.INDENT -6
01400	3.2	^TWO ASTERISKS ARE PRINTED IF THE USER GIVES AN "^N" ANSWER
01500	TO THE CONFIRMATION REQUEST FOLLOWING AN "^^ED\\" COMMAND WHEN
01600	READING A FILE IN _/^^READONLY\\ MODE.
01700	^NOTE THAT THIS BUG PROBABILY WILL NOT BE FIXED BECAUSE OF THE
01800	OBSCURITY OF THE CONDITIONS THAT PRODUCE THE BUG, THE COSMETIC
01900	NATURE OF THE BUG, AND RELATIVELY LARGE PATCH REQUIRED TO FIX IT.
02000	
02100	.BLANK 1
02200	.INDENT -6
02300	3.3	^ERROR MESSAGES FROM ^^OPEN\\, ^^LOOKUP\\, ^^ENTER\\,
02400	AND ^^RENAME\\ ^^UUO\\S WITH THE EXCEPTION OF THE INITIAL ^^LOOKUP\\
02500	OF THE FILE BEING EDITED ARE VERY CRYPTIC.
02600	^THIS CODE SHOULD BE REWRITTEN TO MAKE IT CONFORM TO CURRENT
02700	^^DEC\\SYSTEM-10 CODING PRACTICE.
02800	
02900	.BLANK 1
03000	.INDENT -6
03100	3.4	^SOME COLUMN-ORIENTED FACILITY, INCLUDING EXPANSION OF
03200	^HORIZONTAL ^TAB CHARACTERS, SHOULD BE PROVIDED.
03300	^A POSSIBLE GOAL WOULD BE TO MAKE ^^SOS\\ BE ABLE TO MIMIC
03400	THE DRUM-CARD FACILITY OF A KEYPUNCH.
03500	^NOTE FOR THIS TO BE PROPERLY DONE, THE ^MONITOR WOULD HAVE TO
03600	BE CHANGED TO PERMIT THE USER TO DEFINE COLUMN NUMBERS FOR
03700	_<^^HT\\_> SPACING, POSSIBLY VIA A ^^TRMOP_.\\ EXTENSION.
03800	
03900	.BLANK 1
04000	.INDENT -6
04100	3.5	^PERMITTING THE USER TO HAVE MODIFIABLE AND EXECUTABLE
04200	SCRATCH-PAD MEMORY, SIMILAR TO ^^TECO\\'S ^Q-REGISTERS, WOULD
04300	BE MOST USEFUL.
04400	^ONE POSSIBLE IMPLEMENTATION WOULD BE PROVIDING A DYNAMICALLY
04500	ALLOCATED "^PAGE#0" (NNNNN/0) FACILITY, WHICH COULD BE EDITED WITH
04600	ALL ^^SOS\\ COMMANDS.
04700	
04800	.BLANK 1
04900	.INDENT -6
05000	3.6	^PERMIT THE USER TO PRE-SPECIFY A RANGE AND THEN UTILIZE
05100	SOME SHORTHAND NOTATION TO REFERENCE THE FIRST AND LAST LINES OF
05200	THAT RANGE.
05300	
05400	.BLANK 1
05500	.INDENT -6
05600	3.7	^MAKE ^^SOS\\ MORE TOLERANT OF "JUNK" INPUT FILES, SUCH AS
05700	BINARY FILES OR THOSE CORRUPTED BY ^^TECO\\ WITH RANDOM BIT 35'S ON.
05800	
05900	.BLANK 1
06000	.INDENT -6
06100	3.8	^ACCEPT DEVICE NAMES AS WELL AS FILE NAMES IN RESPONSE TO
06200	THE "^FILE:#" PROMPT TYPED WHEN AN ERROR IS DETECTED AFTER AN
06300	"^E" OR "^W" COMMAND.
06400	
06500	.BLANK 1
06600	.INDENT -6
06700	3.9	^PERMIT THE USER TO SPECIFY A MAXIMUM LEGAL VALUE FOR
06800	AN INCREMENT ON THE "^N" (AND OTHER) COMMANDS.
06900	
07000	.BLANK 1
07100	.INDENT -6
07200	3.10	^ADD MORE "^HELP"-TYPE FACILITIES, SUCH AS "=^^HELP\\",
07300	"_/^^HELP\\", OR "^^HELP:SWITCHES\\" COMMANDS.
07400	
07500	.BLANK 1
07600	.INDENT -6
07700	3.11	^TO PERMIT THE COMPLETE SET OF ^^SOS\\ FEATURES TO BE
07800	AVAILABLE WITHOUT THE AVERAGE ^^SOS\\ USE PAYING A PENALTY IN
07900	HIGH-SEGMENT CORE SIZE, SPLIT ^^SOS\\ INTO SEVERAL HIGH SEGMENTS,
08000	ONE WHICH CONTAINS THE COMMONLY-USED ^^SOS\\ COMMANDS AND OTHERS
08100	WHICH CONTAIN THOSE PLUS THE RARELY-USED FEATURES.
08200	^ADD CODE TO SELECT THE PROPER SEGMENT BASED ON THE ^^SOS\\
08300	COMMANDS EACH USER HAS TYPED.
08400	
08500	.BLANK 1
08600	.INDENT -6
08700	3.12	^TO REDUCE CORE FOR PRODUCTION (^^SYS\\:) VERSIONS OF ^^SOS\\,
08800	ADD A ^^DEBUG\\ CONDITIONAL ASSEMBLY SWITCH TO ELIMINATE THE ^^DDT\\-ORIENTED
08900	FEATURES.
09000	
09100	.BLANK 1
09200	.INDENT -6
09300	3.13	^REMOVE ^^SOS\\'S SENSITIVITY TO QUOTA PROBLEMS WHEN SAVING
09400	THE EDITED FILE ("^E" OR "^W" COMMAND OR AUTO-SAVE OPERATION) AND
09500	WHEN UNSEQUENCING.
09600	^NOTE THAT AS A TEMPORARY SOLUTION, TYPING A FILE SPEC WITH A DIFFERENT
09700	^^PPN\\ IN RESPONSE TO THE "^FILE:#" PROMPT SHOULD PERMIT ^^SOS\\
09800	TO WRITE THE FILE SUCCESSFULLY.
09900	
10000	.BLANK 1
10100	.INDENT -6
10200	3.14	^^SOS\\ WILL GIVE A SYNTAX ERROR ATTEMPTING TO SCAN PAST
10300	A ^^PPN\\ SPECIFICATION ON A ^R OR ^^RUN\\ COMMAND.
10400	
10500	.BLANK 1
10600	.INDENT -6
10700	3.15	^OTHER THAN THIS FILE AND ^^SOS.HLP\\ THERE IS NO DOCUMENTATION
10800	DESCRIBING VERSION 23(220).
10900	^SOMEONE SHOULD PRODUCE AND MAKE AVAILABLE AN UNDATED VERSION OF THE
11000	^^SOS\\ ^USER'S ^GUIDE.
     
00100	.PAGE
00200	.INDENT -6
00300	4.0	^^INSTALLATION INSTRUCTIONS.\\
00400	
00500	.BLANK 1
00600	^TO INSTALL ^^SOS\\, PUT THE FOLLOWING FILES ON THE SYSTEM:
00700	.BLANK 1
00800	.TAB STOP 22,34
00900	.LEFT MARGIN 34
01000	.INDENT -22
01100	^^SOS.SHR\\	(^TO ^^SYS\\:)	^FOR 6.02 AND LATER ^MONITORS,
01200	USE A ^^GET\\_/^^NSAVE\\ COMMAND SEQUENCE TO CONVERT TO THE MORE EFFICIENT
01300	^^SOS.EXE\\ FORMAT FILE.
01400	.INDENT -22
01500	^^SOS.HLP\\	(^TO ^^HLP\\:)	^THIS HELP FILE HAS BEEN REWRITTEN
01600	FOR ^^SOS\\ 23(220).
01700	.BLANK 1
01800	.LEFT MARGIN 6
01900	^^SOS\\ IS DESIGNED TO BE RUN BY THE ^^SOS\\ ^MONITOR COMMAND.
02000	^IF YOU WANT TO ELIMINATE ^MONITOR COMMAND SUPPORT FOR ^^LINED\\, ^^SOS\\ MAY ALSO
02100	BE RUN BY THE ^^EDIT\\ OR ^^CREATE\\ COMMANDS.
02200	^THIS VERSION OF ^^SOS\\ DOES ITS OWN ^^CCL\\ COMMAND SCANNING
02300	AND TEMPORARY-FILE MANAGEMENT.
02400	^IT DOES NOT NEED TO BE RUN BY ^^COMPIL\\, WHICH REDUCES SYSTEM OVERHEAD.
02500	(^IT WILL ALSO WORK WITH ^^COMPIL\\ IF THE ^^SAIL\\ SUPPORT HAS
02600	BEEN ASSEMBLED INTO ^^SOS\\.
02700	^THIS IS THE DEFAULT SETTING.)
02800	^THE FOLLOWING PATCHES WILL PROVIDE THE ^MONITOR INTERFACE FOR
02900	^^SOS\\:
03000	
03100	.BLANK 1
03200	.TAB STOPS 12,20,28,36,42
03300	.LEFT MARGIN 12
03400	^IN THE ^^NAMES\\ MACRO IN ^^COMCON\\, ADD:
03500	.INDENT 8
03600		^^C	SOS,$RUNSOS,RUNFLG,SOS\\
03700	.BLANK 1
03800	^SOMEWHERE IN ^^COMCON\\, ADD:
03900	.INDENT 8
04000	^^$RNSOS:	MOVE	P2,SOS	;GET PROGRAM NAME
04100	.INDENT 8
04200		JRST	RUNAME	; _& GO RUN IT\\
04300	.BLANK 1
04400	.INDENT -6
04500	^TO REPLACE ^^LINED\\ WITH ^^SOS\\, IN THE ^^NAMES\\ MACRO IN ^^COMCON\\
04600	.BLANK 1
04700	^REPLACE:	^^C	EDIT,CCLRUN,RUNFLG\\
04800	.BREAK
04900	##WITH:		^^C	EDIT,$RNSOS,RUNFLG\\
05000	.BLANK 1
05100	^REPLACE:	^^C	CREATE,CCLRUN,RUNFLG\\
05200	.BREAK
05300	##WITH:		^^C	CREATE,$RNSOS,RUNFLG\\
05400	
05500	.BLANK 1
05600	.TAB STOP 6
05700	.LEFT MARGIN 6
05800	^THESE PATCHES HAVE BEEN TESTED IN 5.07^B;
05900	SIMILAR PATCHES SHOULD APPLY TO 6.02 AND LATER ^MONITORS.
06000	^^SOS\\ WILL RUN WITH ANY ^MONITOR THAT SUPPORTS EXTENDED ^^LOOKUP\\
06100	AND ^^ENTER\\ ^^UUO\\S, AND THE ^^PATH.\\ ^^UUO\\.
06200	
06300	.BLANK 1
06400	^AS DISTRIBUTED, ^^SOS\\ 23(220) RUNS IN 4+9^K.
06500	^WHILE LARGER THAN PREVIOUS VERSIONS OF ^^SOS\\, BECAUSE OF THE
06600	EFFICIENCY IMPROVEMENTS THIS VERSION GIVES GOOD RESPONSE TIME
06700	WHEN RUNNING ON LOADED SYSTEMS (^^KA\\-10 WITH 83^K OF USER CORE
06800	AT ^BROOKINGS).
06900	^INSTALLATIONS MAY VARY THE SIZE OF ^^SOS\\ BY ASSEMBLYING IN
07000	OR OUT SEVERAL OF THE OPTIONAL FEATURES.
07100	^WITH ALL FEATURES ASSEMBLED IN, ^^SOS\\ IS 4+10^K; WITH ALL
07200	FEATURES ASSEMBLED OUT, ^^SOS\\ MIGHT REDUCE TO 4+8^K (OR
07300	MAYBE 3+8^K, WE HAVE NOT TESTED THIS).
07400	.BLANK 1
07500	^THE FOLLOWING ARE THE CONDITIONAL ASSEMBLY SWITCHES DESIGNED TO
07600	BE CHANGED BY AN INSTALLATION:
07700	.BLANK 1
07800	.TAB STOPS 18,26,36
07900	##^TYPE	^SWITCH	^DEFAULT	####^DESCRIPTION
08000	.BREAK
08100	--------	------	-------	------------------------------------
08200	.LEFT MARGIN 36
08300	.INDENT -30
08400	^FEATURES:	^^JUSTSW\\	^OFF	^JUSTIFICATION FEATURES
08500	.INDENT -18
08600	^^CRYPSW\\	^ON	^FILE ENCRYPTION FEATURE
08700	.INDENT -18
08800	^^PPNTSW\\	^OFF	^FORMATTED ^PRINT COMMAND FEATURES
08900	.INDENT -18
09000	^^EXTEND\\	^OFF	^CONTEXT LINE SEARCH FEATURE
09100	(^THIS FEATURE HAS GENERALLY BEEN REPLACED BY THE
09200	EXTENSIONS TO THE ^FIND COMMAND DESCRIBED IN ITEM 2.27, ABOVE.)
09300	.INDENT -18
09400	^^LSTSW\\	^ON	^LISTING ("^L") COMMAND FEATURE
09500	(^VERY USEFUL FOR ^^GALAXY\\ IMMEDIATE SPOOLING)
09600	.INDENT -18
09700	^^DEFCRL\\	^ON	^IMPROVEMENTS TO ^F _& ^S COMMAND
09800	RANGE _& REPEAT COUNT DEFAULTS (SEE 2.31, ABOVE.) - ^SHOULD LEAVE ON
09900	.INDENT -18
10000	^^FTIMPCPY\\ ^ON	"^IMPLIED COPY" FILE ACCESS FEATURE (SEE 2.5.2, ABOVE.) - ^SHOULD LEAVE ON
10100	.INDENT -18
10200	^^CCLSW\\	^ON	^^CCL\\ FEATURES (ALSO USED BY ^^SAIL\\ SUPPORT) - ^SHOULD LEAVE ON
10300	.INDENT -18
10400	^^TEMPC\\	^ON	^^TMPCOR\\ FEATURES - ^SHOULD LEAVE ON
10500	
10600	.BLANK 1
10700	.INDENT -30
10800	^PARAMETERS:	^^DEFCOR\\	1.5^K	^DEFAULT MINIMUM SIZE OF IN-CORE TEXT BUFFER (SEE 2.39, ABOVE).
10900	.INDENT -18
11000	^^DEFBLK\\	_/^^BLOCK\\	^DEFAULT OUTPUT FILE FORMAT (SEE 2.41, ABOVE.)
11100	.INDENT -18
11200	^^DEFBAK\\	_/^^BAK\\	^DEFAULT BACKUP FILE OPTION (SEE 2.5.13, ABOVE.)
11300	.INDENT -18
11400	^^DFC128\\	"?"	^DEFAULT _/^C128 ESCAPE CHARACTER (SEE 2.15, ABOVE.)
11500	.INDENT -18
11600	^^SRNUM\\	10.	^NUMBER OF PARALLEL SEARCH STRINGS
11700	.INDENT -18
11800	^^SFDLVL\\	6	^DEPTH OF ^^SFD\\ NESTING PLUS 1 (PERMITS 5 ^^SFD\\S)
11900	.INDENT -18
12000	^^SRBLG\\	200.	^NUMBER OF CHARACTERS IN A SEARCH STRING
12100	.INDENT -18
12200	^^MXWPL\\	100.	^MAXIMUM NUMBER OF WORDS PER LINE (EQUALS 500
12300	CHARACTERS)
12400	.INDENT -18
12500	^^LSNUM\\	3	^NUMBER OF NESTED CONTEXT LINE SEARCHES (IF ^^EXTEND\\ ON)
12600	.INDENT -18
12700	^^PGSZ\\	55.	^NUMBER OF LINES PER TYPED PAGE ("^P" COMMAND - IF ^^PPNTSW\\ ON)
12800	.INDENT -18
12900	^^FULLPG\\	65.	^LENGTH OF TERMINAL TYPED PAGE ("^P" COMMAND - IF ^^PPNTSW\\ ON)
13000	.INDENT -18
13100	_%^^LPP\\	53.	^NUMBER OF LINES PER LISTING PAGE ("^L" COMMAND - IF ^^LSWSW\\ ON)
13200	.INDENT -18
13300	^^MINDSK\\	5.	^MINIMUM DISK SPACE TO ATTEMPT OUTPUT (_/^^CHECK\\ FEATURE)
13400	.INDENT -18
13500	^^OVRDRW\\	100.	^DISK SPACE OVERDRAW ALLOWANCE (_/^^CHECK\\ FEATURE)
13600	.INDENT -18
13700	^^PDLSIZ\\	200	^PUSH-DOWN LIST SIZE
13800	
13900	.BLANK 1
14000	.TAB STOPS 6
14100	.LEFT MARGIN 6
14200	^NOTE THAT ^BROOKINGS SYSTEM PROGRAMMING CONVENTION IS TO USE
14300	CONDITIONAL ASSEMBLY SWITCHES OF THE FORM "%^^SS\\NNN" TO IDENTIFY
14400	MODIFICATIONS IN ^^MACRO\\ PROGRAMS.
14500	^THESE SWITCHES ARE USED MAINLY TO DOCUMENT CHANGES (SHOWING OLD CODE
14600	AND LOCATING NEW CODE IN THE ^^CREF\\ LISTING); OTHER COMBINATIONS
14700	AND SETTINGS OF THESE SWITCHES HAVE NOT BEEN TESTED.
     
00100	.PAGE
00200	.INDENT -6
00300	5.0	^^SPRS FIXED BY THIS RELEASE\\
00400	
00500	.BLANK 1
00600	^THE FOLLOWING IS A LIST OF ALL ^^SPR\\S EXAMINED WHEN DEVELOPING
00700	THIS VERSION OF ^^SOS\\ AND THE RESOLUTION OF PROBLEMS RAISED IN EACH
00800	^^SPR\\:
00900	.BLANK 1
01000	.TAB STOPS 6,16,47
01100	.NOFILL
01200	.NOJUSTIFY
01300	##^^SPR\\#_#	#####^SUBMITTED#BY:	#####^RESOLUTION
01400	--------	-----------------------	--------------------
01500	.BLANK 1
01600	10-13986	^WORCESTER ^TECH	^FIXED
01700	10-14005	^WORCESTER ^TECH	^USER PROBLEM
01800	10-14298	^HARVARD ^BUSINESS ^SCHOOL	^REJECTED
01900	10-14333	^WORCESTER ^TECH	^USER PROBLEM
02000	10-14375	^HARVARD ^BUSINESS ^SCHOOL	^NO PROBLEM
02100	.BLANK 1
02200	10-14404	^HARVARD ^BUSINESS ^SCHOOL	^ASSEMBLY OPTION ^^PPNTSW\\
02300	10-14411	^HARVARD ^BUSINESS ^SCHOOL	^REJECTED
02400	10-14419	^HARVARD ^BUSINESS ^SCHOOL	^FIXED
02500	10-14420	^HARVARD ^BUSINESS ^SCHOOL	^FIXED
02600	10-14700	^BROOKINGS ^^SSCC\\	^FIXED
02700	.BLANK 1
02800	10-14766	^HARVARD ^BUSINESS ^SCHOOL	^FIXED
02900	10-14767	^HARVARD ^BUSINESS ^SCHOOL	^FIXED
03000	10-14768	^HARVARD ^BUSINESS ^SCHOOL	^FIXED
03100	10-14769	^HARVARD ^BUSINESS ^SCHOOL	^SEE 2.26, ABOVE
03200	10-14770	^HARVARD ^BUSINESS ^SCHOOL	^NOT REPRODUCABLE
03300	.BLANK 1
03400	10-14771	^HARVARD ^BUSINESS ^SCHOOL	^FIXED
03500	10-14779	^HARVARD ^BUSINESS ^SCHOOL	^REJECTED
03600	10-14791	^NATIONAL ^SECURITY ^AGENCY	^COMPLEX PROBLEM
03700	10-14835	^HARVARD ^BUSINESS ^SCHOOL	^FIXED
03800	10-15204	^NATIONAL ^INSTITUTES OF ^HEALTH	^FIXED
03900	.BLANK 1
04000	10-15205	^NATIONAL ^INSTITUTES OF ^HEALTH	^FIXED
04100	10-15206	^NATIONAL ^INSTITUTES OF ^HEALTH	^FIXED
04200	10-15327	^ATOMIC ^ENERGY OF ^CANADA, ^LTD.	^FIXED
04300	10-15354	^HARVARD ^BUSINESS ^SCHOOL	^FIXED
04400	10-15355	^HARVARD ^BUSINESS ^SCHOOL	^COMPLEX PROBLEM
04500	.BLANK 1
04600	10-15723	^^CH2M\\ ^HILL	^FIXED
04700	10-15778	^STEVENS#^TECH	^FIXED
04800	10-15796	^TUFTS#^UNIV.	^FIXED
04900	10-15934	^^CH2M\\ ^HILL	^POSSIBLE FIX
05000	10-15942	^HARVARD ^BUSINESS ^SCHOOL	^FIXED
05100	.BLANK 1
05200	10-16012	^ATOMIC ^ENERGY OF ^CANADA, ^LTD.	^FIXED
05300	10-16374	^WESTERN ^ELECTRIC	^FIXED
05400	10-16375	^WESTERN ^ELECTRIC	^COMPLEX PROBLEM
05500	10-16408	^HARVARD ^BUSINESS ^SCHOOL	^FIXED
05600	10-16564	^NATIONAL ^INSTITUTES OF ^HEALTH	^FIXED
05700	.BLANK 1
05800	10-16595	^NATIONAL ^INSTITUTES OF ^HEALTH	^USER PROBLEM
05900	10-16596	^NATIONAL ^INSTITUTES OF ^HEALTH	^FIXED
06000	10-16597	^NATIONAL ^INSTITUTES OF ^HEALTH	^FIXED
06100	10-16598	^NATIONAL ^INSTITUTES OF ^HEALTH	^FIXED
06200	10-16622	^NATIONAL ^INSTITUTES OF ^HEALTH	^FIXED
06300	.BLANK 1
06400	10-16637	^NATIONAL ^INSTITUTES OF ^HEALTH	^FIXED
06500	10-16645	^NATIONAL ^INSTITUTES OF ^HEALTH	^FIXED
06600	10-16646	^NATIONAL ^INSTITUTES OF ^HEALTH	^FIXED
06700	10-16651	^HARVARD ^BUSINESS ^SCHOOL	^MIGHT BE FIXED
06800	10-16674	^HARVARD ^BUSINESS ^SCHOOL	^FIXED
06900	.BLANK 1
07000	10-16786	^ALGONQUIN ^COLLEGE	^REJECTED
07100	10-16813	^NATIONAL ^INSTITUTES OF ^HEALTH	^FIXED
07200	10-16814	^NATIONAL ^INSTITUTES OF ^HEALTH	^FIXED
07300	10-16817	^NATIONAL ^INSTITUTES OF ^HEALTH	^FIXED
07400	10-16819	^NATIONAL ^INSTITUTES OF ^HEALTH	^FIXED
07500	.BLANK 1
07600	10-16950	^^DEC\\-^MAYNARD	^FIXED
07700	10-16959	^ATOMIC ^ENERGY OF ^CANADA, ^LTD.	^FIXED
07800	10-17013	^NATIONAL ^INSTITUTES OF ^HEALTH	^FIXED
07900	10-17068	^BRITISH ^AIRWAYS	^PARTIAL FIX
08000	10-17069	^BRITISH ^AIRWAYS	^COMPLEX PROBLEM
08100	.BLANK 1
08200	10-17070	^BRITISH ^AIRWAYS	^COMPLEX PROBLEM
08300	10-17071	^BRITISH ^AIRWAYS	^FIXED
08400	10-17073	^BRITISH ^AIRWAYS	^NOT FIXED
08500	10-17074	^BRITISH ^AIRWAYS	^MONITOR PROBLEM
08600	10-17075	^BRITISH ^AIRWAYS	^FIXED
08700	.BLANK 1
08800	10-17076	^BRITISH ^AIRWAYS	^COMPLEX PROBLEM
08900	10-17077	^BRITISH ^AIRWAYS	^FIXED
09000	10-17078	^BRITISH ^AIRWAYS	^NOT REPRODUCABLE
09100	10-17079	^BRITISH ^AIRWAYS	^COMPLEX PROBLEM
09200	10-17080	^BRITISH ^AIRWAYS	^FIXED
09300	.BLANK 1
09400	10-17081	^BRITISH ^AIRWAYS	^^KJOB\\ PROBLEM
09500	10-17082	^BRITISH ^AIRWAYS	^FIXED
09600	10-17083	^BRITISH ^AIRWAYS	^PARTIAL FIX
09700	10-17084	^BRITISH ^AIRWAYS	^FIXED
09800	10-17085	^CALTECH	^FIXED
09900	.BLANK 1
10000	10-17148	^BRITISH ^AIRWAYS	^REJECTED
10100	10-17151	^BRITISH ^AIRWAYS	^FIXED
10200	10-17195	^NATIONAL ^INSTITUTES OF ^HEALTH	^COMPLEX PROBLEM
10300	10-17230	^BRITISH ^AIRWAYS	^FIXED
10400	10-17235	^UNIVERSITY OF ^ILLINOIS	^FIXED
10500	.BLANK 1
10600	10-17266	^NATIONAL ^INSTITUTES OF ^HEALTH	^FIXED
10700	10-17302	^NATIONAL ^INSTITUTES OF ^HEALTH	^FIXED
10800	10-17325	^CORNELL ^UNIV.	^FIXED
10900	10-17337	^NATIONAL ^SECURITY ^AGENCY	^COMPLEX PROBLEM
11000	10-17370	^UNIVERSITY OF ^ILLINOIS	^FIXED
11100	.BLANK 1
11200	10-17423	^NATIONAL ^INSTITUTES OF ^HEALTH	^FIXED
11300	10-17424	^NATIONAL ^INSTITUTES OF ^HEALTH	^REJECTED
11400	10-17459	^RUTGERS ^UNIV.	^FIXED
11500	10-17585	^NATIONAL ^INSTITUTES OF ^HEALTH	^FIXED
11600	
11700	.TAB STOP 6
11800	.BLANK 2
11900	_[^END OF ^^SOS.DOC\\]