There is 1 other file named sos21.doc in the archive. Click here to see a list.
SOS21.DOC -- Changes from V12 to V21
COPYRIGHT (C) 1974,1978,1979 BY
DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER
COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY
THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
SOS12.DOC Page 2
The purpose of the document is to provide a brief description of what
has transpired inside SOS since the summer of 1972 when the current
ADR manual was published. The following discussion is divided into
two sections, the first dealing with only those changes that affect
SOS use, and the second with internal changes.
This version of SOS must be loaded with a current copy of HELPER.
There are no other dependecies. It fully supersedes all previous
versions and has no known deficiencies. This version fixes all bugs
reported to June 1974, and runs on all monitors. It has been tested
on 5.06, and 5.07/6.01. SOS version 21 fully supports the DATE75
SOS is documented by this document, the ADR manual, and its ".HLP"
This release of SOS is classified as catagory IV software. The
documentation, while incomplete, will be provided at a later
unspecified date. It is intended that this software be superseded at
a later date with a slightly incompatible replacement of a different
2.0 EXTERNAL CHANGES
Commands may be aborted by typing 2 bells in succession. This feature
allows you to return to SOS command level from any level except ALTER
mode. Also this feature can be used to delete back past an ESC typed
for an "F" or "S" command
Allow the use of ^ to mean either the first line of a given page or
the first page (i.e. Page 1) of the file, depending on the context in
which it is used. Also allow the use of /* to denote the last page of
At startup, print the name of the file that is to be edited preceded
by the keyword: "Edit" if the file exists, "Input" if the file is
being created, and "Read" if the file is being accessed in Read-only
Change the quote character used to specify special character handling
to be a single-quote (') rather than a question-mark (?).
Question-marks are now normal characters. To input a (') you must
type (''). This pertains only to C128 mode.
SOS12.DOC Page 3
Add new backup file logic to create either "Qxx" or "Zxx" file
extensions, where "xx" is the last two characters of the original
file's extension. Also add the switch "/OLD" to allow generation of
"Zxx" files. The "BAK" file extension is replaced by these new
conventions as follows: If a backup file is requested then create a
file with the "Qxx" extension. If a "old" file is requested then
create a file with the "Zxx" extension if it does not exist, else use
the "Qxx" extension. Thus /OLD causes the original copy to become
"Zxx" and subsequent backup files to be "Qxx". If no backup file is
requested then an existing "Qxx" file will be deleted. Related
switches are "/OLD, /NOBAK, and /BAK. The "=BAK" command will advise
you of wether backup files will be created.
All SOS parameters may be specified in the initial command string as
switches. (See SOS.HLP for details on parameters.)
Add the command "K/n" to allow deletion of page marks. This is the
only acceptable way to delete just a page mark. E.G: K/5 will
delete page mark 5, merging page 5 into page 4.
Fix the "D" and "R" commands to be more general. That is allow a user
to delete through page boundaries. If you try to delete through a
page mark SOS will ask "Massive deletions ok?", to which you may type
Y or N. Also and a switch (,Y) which may be appended to the command
to suppress this dialog. This confirmation for massive deletions is
not necessary in expert mode.
Add a new command "." to allow positioning the current line pointer.
the acceptable format is ".<position>".
Fix command errors in intra-line edit mode ("A" command) to echo a
bell instead of nothing.
Add the ability to specify the name of the program to be run for the
"G" command. The format is "_RUN=DEV:FILE.EXT[<path>]". The "=RUN"
command will type out the name of this program.
Add the type out of the "line-contents" search strings (3 of them) in
addition to the current information given by the "=STRING" command.
Fix the "S" command with no arguments to do the substitution on only
the first line found instead of the entire file. This makes the "S"
and "F" commands a little bit more compatible.
Make "_" and "=" mean the same thing in the "C" command.
Allow all command string switches and parameters to be specified by
their unique initial segment.
Fix the "M" (insert page mark) command to automatically set the
current line pointer (.) to the first line of the new page or 00100 if
the page is empty.
SOS12.DOC Page 4
Add code so that the "D" and "R" commands will inform the user of the
number and range of lines deleted. This feature is suppressed in
expert mode. The format of the message is as follows: "n lines
Add the command switch "/BASIC" to read an input file in the following
mode if that file doesn't have system style sequence numbers:
1. All leading blanks and tabs will be stripped.
2. The first non-blank character must be a digit.
3. From 1-5 leading digits will be converted to a sequence
number. More than 5 digits will be considered an error.
4. A tab will be inserted using the following algorithm: I) If
the first non-digit is a space then replace it with a tab;
II) If the first non-digit is a tab then leave it in place;
III) If the first non-digit is anything else then insert a
5. If the "UNSEQUENCE" option is used then the sequence number
will be converted to a 5-digit string and the following tab
into a space upon exit.
In addition to above the "/R" switch when given in a "C" command
instead of "/S" will read the file being copied in "BASIC" mode.
Allow the user to specify "/START" and "/STEP" switches in order to
control the reading of unsequenced files. Defaults are 00100. If
/START is omitted it defaults to the /STEP value. E.G. "/STEP:10" --
starts at 10 with increments of 10.
Re-write the "E" (end) command to have the following new syntax. In
order to specify a new file name it must be preceded by a colon (:).
E.G. "E:newnam.ext[<path>]". Also the command may be followed by one
of the optional command modifiers "B" , "Q" , "S" or "D" defined as:
B Suppress the creation of a backup file "Qxx" or "Zxx".
Q Terminate this session now and delete any temporary files.
Leaves original file unchanged.
S Unsequence the resulting output file.
D Delete the original input file. (Useful if browsing a listing --
see also "/DELETE").
The "W" and "G" commands follow this new convention also. As a result
of this the "Q" command has been removed.
Modify intra-line edit mode to allow certain commands to be preceded
by a minus sign (-). These are "-D" , "-S" , "-R" , and "-K". Both
the "-S" and "-K" commands pass through the search character. Repeat
counts are of the form "-nD" etc.
SOS12.DOC Page 5
Add the capability to cause automatic "W" commands to be executed by
the setting of parameters "SAVE" and/or "ISAVE". The parameter "SAVE"
is a counter of the number of commands, that modify the file, that are
allowed between "W" saves. The parameter "ISAVE" is the count of the
number of lines that are allowed to be inserted between "W" saves.
When a counter goes to zero, the message: "[Doing auto-save, please
wait]" will be printed on your terminal and the edit session will
continue. In addition the message "[Warning: sequence numbers
preserved]" may appear if the final file is to be unsequenced. This
is to prevent the re-sequencing of the file that is in the process of
Implement disk quota and space checking. To enable this feature give
the "/CHECK switch. This will cause SOS to verify that enough disk
space exists before every output. It will allow an overdraw of 100
blocks if possible. If your quota is exceeded the message
"[Insufficient disk space to do output]" will be printed on your
terminal. SOS will then wait for you to type one of "G" , "T" , "R"
or "W" which mean:
G Do the output (now and forever).
T Test disk space and do output if space is available.
R Give resources and do output if space is available.
W Wait until either space appears or you type a different response.
In addition the "=DISK" command will inform you of the disk space
Implement the "/DECIDE" switch to permanently set the ",D" option on
the substitute (S) command. Also in decide mode, a space " " is the
only character allowed to accept a line. "/NODECIDE" and "=DECIDE"
have also been implemented.
When using search mode in the copy (C) command, prompting is done with
"C*" instead of just "*".
Allow echo suppression of all deleted text in intra-line edit mode if
the user is in expert mode. This affects the "D" , "X" , "R" and "K"
commands. In novice mode all deleted text will still be printed.
Implement CONTROL-C intercepting. In response too a CONTROL-C SOS
will type "Yes? (Type H for help) ", to which you may type one of:
C To continue automatically
E To end edit and close file
Q To quit (delete temp files)
M Return to monitor now
R To do reenter (terminate losing search etc.)
Implement option files (SWITCH.INI) as per the specification found in
the DECsystem-10 Monitor Commands Manual.
Allow all switches and arguments to the "_" and "/" commands to be
compatable. This means that all SOS parameters may be set in the
initial command string and in SWITCH.INI.
SOS12.DOC Page 6
Add the parameter "PLINES" that can be used to set the number of lines
printed by a "P" command with no arguments. Default value is 16.
Allow full DECsystem-10 file specifications in the initial command
string. Also fix all problems with the handling of file structures
and file protection. All file names may be specified in the form:
Allow the command of the form "I/n" where n is a page number to do as
follows: i) Insert a page mark at the end of page n; ii) Start
inserting text on page n+1 at line 00100.
Implement the "H" (help) command to print help text according to
standards embodied in the module "HELPER".
Allow control characters to print in the form "^<character>" in C64
Add the feature "/NONUMBER" to suppress all printing of line numbers.
This feature is af particular interest for high speed input.
"/NUMBER" will turn sequence number printing back on.
Make modifications to the "N" (renumber) command to allow extended
features. The command "NP" will not reset the line numbers when
crossing page boundaries. This allows using uniform sequence numbers
over the entire file even though it contains page marks. The command
"NA" will add a constant offset to the specified range. This is
useful for making a hole in some text and still preserve the low-order
digits of the old sequence numbers.
The command "=LOCATION" will print the file position that is currently
at the head of the edit buffer. This number represents how far back
one may go before causing wrap-around.
Implement commands of the form "I<pos>;!<number>" to mean insert
<number> lines starting at <pos>. The increment that is computed is
chosen from at table of aesthetic values (1,2,5,10,20,50,100). The
command "R<range>;!<number> is also permitted.
3.0 KNOWN BUGS AND DEFICIENCIES
4.0 INSTALLATION INSTRUCTIONS
SOS12.DOC Page 7
5.0 INTERNAL CHANGES
Maximum line length is increased to 500 characters.
All monitor UUOs use DECsystem-10 standard conventions found in C.MAC.
All unnecessary "CLOSE" UUOs have been removed.
LOOKUP failures other than "File not found" are now reported correctly
and are treated as errors. If the file is not found then SOS types
"Input: file.ext" and enters insert mode as before.
The definition of the page mark text (i.e. the 2nd word) has been
changed to <CR><FF><Null><Null><Null>. SOS guarentees that all old
style page marks are converted as a matter of course. Unsequencing
will now leave only a form-feed.
Add logic to edit files with protection of <3xx> (i.e., modify) or
Add logic to eliminate costly wrap-arounds when no modifications have
been made on this pass through the file. In addition the message "[No
changes]" is printed upon ending if there is no need to complete the
edit (i.e. copying the file).
Fix the "E" command in the "COPY" command to be more forgiving toward
responses to "Source lines = ". This means that if the response is in
error, do not leave copy mode. If your wish to abort this mode type
Convert all errors messages to upper and lower case.
Fix losing searches to print out the range over which the search has
Suppress the printing of wrap-around warings in expert mode.
Fix handling of temporary files so that "ersatz" devices work
properly. Also allow editing in write-only directory.
Expand special characters to allow more strange functions.
Add more code to handle displays.
Rewrite error message processing to conform to DECsystem standards and
possibly use a general error processor.
[End of SOS21.DOC]