1
0                                         TRIPOS Commands
+                                         _______________
-
                   Each command is described on a separate page, giving the format
                of its arguments, its purpose, author(s), specification and examples
                of use.  If the source is not in the standard directory, or the
                source is in more than one file, then the filename(s) is/are given.
                Most command sources are in SYS:COM.BCPL.<command> and command
                sequences in SYS:S.<command-sequence>.
0                  The majority of commands use the library procedure RDARGS to read
                their arguments.  For these commands, the control string given to
                RDARGS is given in the "form" section of the description.  The
                string consists of a series of keywords, possibly qualified, and
                separated by commas.  Each keyword takes a single argument,
                delimited either by spaces or double quotes (").  The argument is
                separated from the keyword by spaces or an equals sign (=).
0                  Keyword qualifiers come after the keyword, and have the following
                meanings:
0                  /A  This argument must be given (but the
                       keyword is optional)
0                  /K  If the argument to this keyword is given,
                       then the keyword must be quoted.
0                  /S  The keyword is a switch; it takes no argument.
0                  These qualifiers may be used in combination: e.g. KEY/A/K means
                that both keyword and argument are compulsory.  If a keyword is
                unqualified, then both argument and keyword are optional.
0                  Synonyms for a keyword may be included using equals signs; any
                qualifier applies to all the names for the keyword.
0                  For example, the form of a command ABC could be given as:
0                  ABC  "FROM=SOURCE/A,TO,OPT/K,QUIET/S"
0                  The command has a compulsory argument which may be positional, or
                keyed by FROM or SOURCE.  It has an optional argument which may be
                positional or keyed by TO.  It has another optional argument OPT,
                which must be keyed if it is included, and a switch QUIET.
0                  Thus possible ways of using the command ABC would be as follows:
0                  ABC FILEA
0                  ABC FILEA FILEB OPT X
0                  ABC SOURCE FILEA TO=FILEB QUIET
-
1
0                                                                              ALARM
-
                Form:           ALARM  "TIME=AT/A,MESSAGE"
-
                Purpose:        To write bells to the console at the specified time
                                of day, optionally followed by a message.
-
                Author:         BJK
-
                Source:         :com.bcpl.alarm
-
                Specification:
-                  Use RUN ALARM HH:MM:SS <message>.
                The minutes and seconds may be omitted from the time.  If the
                message contains spaces, it must be enclosed in double quotes.
                    At the specified time, 50 bells, the time and the message (if
                any) are written to the console.
-
                Example:        RUN ALARM 11:00 "Coffee time!"
-
-
-
-
-
-
-
-
                                                                           7.10.1980
1
0                                                                             APPEND
-
                Form:           APPEND  ",,,,,,,,,,TO/K/A,WORDS/S,CHARS/S"
-
                Purpose:        To add one or more files to the end of an existing
                                file, using a temporary file and RENAME.
-
                Author:         ARA
-
                Specification:
-                  APPEND will concatenate up to 10 files into a temporary file
                which it then renames as the TO file.  Copying is done in words if
                WORDS is specified, and in characters if CHARS is specified.  WORDS
                is the default.
-
-
-
-
-
-
-
-
-
-
-
                                                                           7.10.1980
1
0                                                                                ASM
-
                Form:           ASM  "PROG=FROM/A,CODE=TO,VER/K,LIST/S,HDR/K"
-
                Purpose:        To invoke the assembler for the machine being used.
-
                Authors:        RDE BJK
-
                Specification:
-                  FROM is the source file.
0                  TO is the file for the object module.  If this is omitted then no
                code is produced.
0                  VER is the file for messages.  By default, these go to the
                current output stream.
0                  LIST turns on the assembly listing switch at the start of the
                source.  (It may be turned off again by directives in the source).
                If LIST is absent, only lines containing errors are listed.
0                  HDR specifies a header file to be textually inserted before the
                source file.
0                  Assemblers for machines other than the host have similar
                specifications, but have names indicating which machine they are
                for: e.g. NOVASM, PDPASM, GASM.
-
                Example:        ASM ABC
-                               ASM ABC ABC-OBJ
-                               ASM ABC TO ABC-OBJ VER LP: LIST
-
-
-
0                                                                          7.10.1980
1
0                                                                               BCPL
-
                Form:           BCPL  "FROM,TO,OCODE/K,CHARCODE/K,VER/K,OPT/K"
-
                Purpose:        To compile a BCPL program
-
                Authors:        MR ARA
-
                Source:         :com.bcpl.bcpl
                                :com.bcpl.bcpl-args
                                :com.bcpl.bcpl-syn
                                :com.bcpl.bcpl-trn
                                :com.bcpl.bcpl-err
                                :com.bcpl.bcpl-cg
-
                Specification:
-                  If FROM is specified, then the front end is called to generate
                intermediate code.  If TO is specified, then the code generator is
                called to translate the intermediate code into object code.  If
                OCODE is specified, then the given file is used for the intermediate
                code, otherwise a temporary file is used and is deleted at the end
                of the compilation.
0                  CHARCODE may be used to specify a character translation file for
                bootstrapping.  The format is 128 three-digit octal integers,
                separated by tab, space, or newline.
0                  VER specifies an output stream for messages.
0                  OPT specifies options.  Each option starts with a letter, and
                some have integer arguments.  A slash (/) indicates the end of front
                end options, and subsequent ones are passed to the code generator.
0                  Front end options:
0                T   print AE tree         default: FALSE
                 Sn  set savespace size                 2
                 Ln  set tree space                 10000
-
-
1
0                Dn  set declaration space           1800
0                  Code Generator options:
0                C   include stack checking code    FALSE
                 L   list object module             FALSE
                 N   no names in code               FALSE
                 O   alternative object module format FALSE
                 P   profile counts                 FALSE
                 K   call counts                    FALSE
                 R   restricted instruction set     FALSE
                 Wn  set workspace size              5000
                 X   ( spare flags for machine)     FALSE
                 Y   ( dependent options      )     FALSE
                 An  ( Spare numbers          )         0
                 Bn  (                        )         0
-
                Example:        BCPL PROG-SOURCE TO PROG
-                               BCPL OCODE PROG-OCODE TO PROG
-
-
-
-
-
-
-
-
-
-
-
0                                                                          7.10.1980
1
0                                                                           BCPLXREF
-
                Form:           BCPLXREF  "FROM/A,TO,OPT/K"
-
                Purpose:        To produce a cross reference listing of identifiers
                                in a BCPL source program.
-
                Authors:        MR JJG BJK
-
                Source:         :com.bcpl.bcplxref
-
                Specification:
-                  TO can be used to specify an output file.  By default, output
                goes to the current output stream.  The OPT parameter gives a
                pattern that selects which identifiers to cross reference.  The only
                special character in the pattern is * which will match any string
                of zero or more characters.
-
                Example:        BCPLXREF PROG TO :T.0
-
-
-
-
-
-
-
-
                                                                           7.10.1980
1
0                                                                              BREAK
-
                Form:           BREAK  "TASK/A,B/S,C/S,D/S,E/S,ALL/S"
-
                Purpose:        To set break flags in the given task.
-
                Author:         BJK
-
                Source:         :com.bcpl.break
-
                Specification:
-                  Sets the specified break flags in the task.  B -> ctrl/B flag, c
                -> ctrl/C flag, etc.  ALL sets all the ctrl/B to ctrl/E flags.  By
                default, only the ctrl/B flag is set.
-
                Example:        BREAK 7
-                               BREAK 5 C
-
-
-
-
-
-
-
-
                                                                           7.10.1980
1
0                                                                                  C
-
                Form:           C command-file args
-
                Purpose:        To execute a file of commands with argument
                                substitution.
-
                Author:         RDE
-
                Source:         :com.bcpl.c
-
                Specification:
-                  The command-file contains commands that are executed by the
                Command Language Interpreter.  Any line starting with a dot ('.')
                is a directive to the C processor.  The directives are as follows:
0                .KEY)  RDARGS format string
                 .K  )
                        This specifies the format of the arguments
                 .DOT   ch                    Change dot character to ch
                 .BRA   ch                    Change bra character to ch
                 .KET   ch                    Change ket character to ch
                 .DOL   )
                 .DOLLAR)  ch                 Change default-char to ch
                 .DEF      keyword value      Give default value to parameter
                 .<space>                     Comment line
                 .<newline>                   Blank comment line
-
-
-
-
-
-
                                                                           7.10.1980
1
0                                                                             CASECH
-
                Form:           CASECH  "FROM/A,TO/A,DICT/K,U/S,L/S,A/S"
-
                Purpose:        To alter the letter case of identifiers in a BCPL
                                source.
-
                Authors:        JJG BJK
-
                Source:         :com.bcpl.casech
-
                Specification:
-                  The FROM file is copied to the TO file, with the specified
                changes made to the cases of identifiers.  BCPL reserved words are
                forced to upper case.
0                 U = force all identifiers to upper case (default)
                  L = force all identifiers to lower case
                  A = force all letters to upper case
0                  A dictionary of mixed case 'spellings' can be supplied with the
                DICT keyword.  The dictionary file can be a BCPL source.
-
                Example:        CASECH PROG TO LCPROG L
-
-
-
-
-
-
0                                                                          7.10.1980
1
0                                                                          CHANGEPRI
-
                Form:           CHANGEPRI  "TASK=PRIORITY/A,PRI"
-
                Purpose:        To change the priority of a task.
-
                Author:         MR
-
                Source:         :com.bcpl.changepri
-
                Specification:
-                  If two parameters are given, the first specifies the task number
                and the second the priority.  If only one parameter is given, the
                priority of the current task is changed.  The parameters must be
                unsigned integers.
-
                Example:        CHANGEPRI 600
0                               CHANGEPRI 1 20
-
-
-
-
-
-
-
-
                                                                           7.10.1980
1
0                                                                               CHKL
-
                Form:           CHKL  "FROM/A,TO,OPT/K"
-
                Purpose:        To count the number of lines and characters in a
                                text file, and indicate the lengths of the longest
                                and shortest lines.
-
                Authors:        DSC BJK
-
                Specification:
-                  TO specifies an output file.
0                  OPT gives the options string.  Each option is a single letter;
                some have integer arguments.
0                  Options:
0                 B   Brief mode (default)
                  Ln  Indicate which lines are shoter than lower limit n.
                  N   Ignore blank lines.
                  P   Print lines which are outside the specified
                      size range. (opposite of 'B')
                  T   Trim trailing spaces on input.
                  Un  Indicate which lines are longer than n
                  Wn  Set maximum length of output lines
-
                Example:        CHKL PROG
-                               CHKL PROG TO LP: OPT U72P
-
-
-
-
-                                                                          7.10.1980
1
0                                                                               CLI2
-
                Form:           RUN CLI2
-
                Purpose:        To create a Command Language Interpreter and console
                                handler connected to the second console.
-
                Author:         RDE BJK
-
                Specification:
-                  Any commands on the rest of the line will be executed before the
                new CLI starts reading from the second console.
-
                Example:        RUN CLI2
0                               RUN CLI2; INIT :BRIAN; EX
-
-
-
-
-
-
-
-
-
-                                                                          7.10.1980
1
0                                                                            CONSOLE
-
                Form:           CONSOLE  "WIDTH/K,BELL/K,TAB/K,TRAN/K,HEX/K,*
                                         *RUBOUT/K,IDENTIFY=ID/K"
-
                Purpose:        To set console characteristics in the console
                                handler that the current CLI is using.
-
                Author:         RDE
-
                Specification:
-               WIDTH           The console width: must be a valid positive integer.
0               BELL            A single character which will be used to signal
                                error conditions.
0               TAB             Values ON or OFF.  When ON, tab characters (HT) are
                                expanded to spaces by the console handler.
                                Otherwise, they are untouched.
0               TRAN            Values ON or OFF.  When ON, unprintable characters
                                are translated to ? or @Xnn on output, and the
                                console width is checked.  When OFF, all characters
                                are passed through unchanged, and the width is not
                                checked.  HEX             Only useful when TRAN is
                                on.  Has values ON or OFF.  This option specifies
                                whether ? (OFF) or @Xnn (ON) should be produced for
                                unprintable characters.
0               RUBOUT          Has values VDU or VERIFY, and controls the displayed
                                effect of the rubout key and @L.
0               IDENTIFY or ID  Values ON or OFF.  If ON, a number identifying the
                                issuing task is prefixed to every line of output.
-                  If no parameters are given, the current state of all the options
                is printed as well as the console handler task number.
-
                Example:        CONSOLE
-
-
1
0                               CONSOLE TRAN OFF IDENTIFY
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                                                          7.10.1980
1
0                                                                               COPY
-
                Form:           COPY  "FROM/A,TO/A,WORDS/S,CHARS/S"
-
                Purpose:        To copy a file from one place to another.
-
                Authors:        RDE ARA
-
                Specification:
-                  WORDS specifies that the copy should be done by
                READWORDS/WRITEWORDS, and CHARS that it should be done by RDCH/WRCH.
                The default is WORDS if both files are on disc, CHARS otherwise.
-
                Example:        COPY FILE1 FILE2
-
-
-
-
-
-
-
-
-
-
0                                                                          7.10.1980
1
0                                                                                CPU
-
                Form:           CPU
-
                Purpose:        To display CPU utilisation (actually bus
                                utilisation) on the display lights.
-
                Author:         PB
-
                Specification:
-                  (LSI4 version)
                   The bus utilisation will be shown on the display lights in the
                low order three digits as a percentage.  The high order digit cycles
                0,1,....,E,F continuously to indicate that the CPU command is
                running.
0                  (PDP11 version)
                   The bus utilisation will be displayed as a line of light on the
                display lights.  All 16 lights on indicates 100% utilisation.
0                  To remove the CPU command, BREAK (q.v.) the task with priority
                maxint-1 (32766).
-
                Example:        CPU
-
-
-
-
-
-
-
                                                                           7.10.1980
1
0                                                                          CREATEDIR
-
                Form:           CREATEDIR  "/A"
-
                Purpose:        To create a directory.
-
                Author:         PB
-
                Specification:
-                  The directory with the given name is created.
-
                Example:        CREATEDIR BCPL
-                               CREATEDIR DF1:T
-
-
-
-
-
-
-
-
-
-
                                                                           7.10.1980
1
0                                                                                 DA
-
                Form:           DA  "FROM/A,TO/K"
-
                Purpose:        To disassemble an LSI4 program generated by the BCPL
                                compiler.
-
                Authors:        MR RDE
-
                Specification:
-                  The FROM file must contain a program in hex form as generated by
                the /O option of the BCPL compiler.  DA outputs the corresponding
                disassembly to the TO stream, or to the current output stream if TO
                is absent.
-
                Example:        BCPL ABC-S TO T OPT /O
                                DA T
-
-
-
-
-
-
-
-
-
0                                                                          7.10.1980
1
0                                                                                DAT
-
                Form:           DAT
-
                Purpose:        To print the date, time, and day of the week.
-
                Author:         PB
-
                Example:        DAT
-
-
-
-
-
-
-
-
-
-
-
-
-
0                                                                          7.10.1980
1
0                                                                               DATE
-
                Form:           DATE  "IS"
-
                Purpose:        To print or set the system date.
-
                Author:         BJK
-
                Specification:
-                  DATE with no parameter prints the currently set system date.
-               DATE <date> sets it.  <date> must have the form DD-MMM-YY
-
                Example:        DATE
-                               DATE 23-Jan-80
-
-
-
-
-
-
-
-
-
                                                                           7.10.1980
1
0                                                                              DEBUG
-
                Form:           DEBUG
-
                Purpose:        To load DEBUG as a command.  (Useful when resident
                                DEBUG is not accessible - e.g. from a second
                                console, or when logged-in from a remote machine).
-
                Author:         ARA
-
                Specification:
-                  See separate document describing DEBUG commands.
-
                Example:        DEBUG
-
-
-
-
-
-
-
-
-
-
0                                                                          7.10.1980
1
0                                                                             DELETE
-
                Form:           DELETE  ",,,,,,,,,,"
-
                Purpose:        To delete up to ten files.
-
                Authors:        PB ARA
-
                Specification:
-                  DELETE will attempt to delete each file specified.
-
                Example:        DELETE OLD-FILE
-                               DELETE ALPHA BETA GAMMA
-
-
-
-
-
-
-
-
-
-
                                                                           7.10.1980
1
0                                                                        DF-DISCCOPY
-
                Form:           DF-DISCCOPY  "FROM/A,TO/A/K,CHECKBLOCKS=CHKBLKS/S"
-
                Purpose:        To physically copy a floppy disc.
-
                Author:         PB
-
                Specification:
-                  Similar to DISCCOPY, but for floppy discs.  The entire disc is
                copied.
0                  CHECKBLOCKS causes a read-after-write check to be performed on
                each block.
-
                Example:        DF-DISCCOPY DF0: TO DF1:
-                               DF-DISCCOPY DF0: TO DF2: CHECKBLOCKS
-
-
-
-
-
-
-
-
-                                                                          7.10.1980
1
0                                                                          DF-DISCED
-
                Form:           DF-DISCED
-
                Purpose:        Disc editor for TRIPOS floppy discs.
-
                Author:         BJK
-
                Specification:
-                  Commands are the same as for DISCED (q.v.).
-
                Example:        DF-DISCED
-
-
-
-
-
-
-
-
-
-
-
                                                                           7.10.1980
1
0                                                                           DISCCOPY
-
                Form:           DISCCOPY  "FROM/A,TO/K"
-
                Purpose:        To copy logical disc packs or bootstrap areas
                                (physical copy).
-
                Authors:        BJK PB
-
                Specification:
-                  Use DISCCOPY <disc-area> TO <disc-area>
0                  <disc-area> specifies either a logical disc of the form
                DP<unit>-<disc number>:  (e.g. DP1-3: is unit 1, logical disc 3) OR
                a bootstrap area of the form DP<unit>-BOOT: .
0                  An area may not be copied to itself, nor may areas of different
                type be copied.
-
                Example:        DISCCOPY DP0-0: TO DP1-1:
-                               DISCCOPY DP0-BOOT: TO DP1-BOOT:
-                               DISCCOPY DK0: TO DK1:  [system with RK05 discs]
-
-
-
-
-
-
0                                                                          7.10.1980
1
0                                                                             DISCED
-
                Form:           DISCED
-
                Purpose:        To examine and patch disc blocks.
-
                Author:         BJK
-
                Specification:
-                  Commands available:
0               B n         Set logical block number base to n
                C n         Print n characters from current offset
                D n         Select disc drive n
                G [n]       Get block n from disc (default: current
                            block number)
                H name      Calculate hash value of name
                I           Print block information
                K           Check block checksum (& correct if wrong)
                L [lwb upb] Locate words which match Value under Mask
                            (lwb & upb restrict the search)
                M n         Set Mask (for L & N commands) to n
                N [lwb upb] Locate words which do not match Value
                            under Mask
                P n         Put block in store to block n on disc
                            (default: current block number)
                R           Print block number of Root Block
                Q           Quit (do not write to disc)
                S char      Set printing Style:
                            char = C -> characters
                                   S -> string
                                   O -> octal
                                   X -> hex
                                   D -> decimal
                T lwb upb   Type range of offsets in block
                U n         Set Unit (i.e. device) number to n
                V n         Set Value for L & N commands
                W           Windup (=PQ)
                X           Invert write protect state
                Y n         Set cYlinder base to n
                Z           Zero all words of buffer
-
-
1
0               number      Set current word offset in block
                =           Print values set in program
                / [n]       Print word at current offset
                            [or update value to n]
                'chars'     Put chars at current offset
                "chars"     Put string at current offset
0                   Numbers can start with # or #X to indicate octal or hex.
                Strings can include BCPL string escapes (*N etc.).
0                   The current block is that from the last G or P command.  It is
                the offset from the logical block number base.
-
                Example:        DISCED
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                                                          7.10.1980
1
0                                                                           DISCINFO
-
                Form:           DISCINFO  "DEVICE"
-
                Purpose:        To produce information on the identity, size and
                                usage of a disc.
-
                Author:         PB
-
                Specification:
-                  By default, the information refers to the disc which contains the
                currently set directory.
0                  DEVICE can be used to specify a different disc, which must be
                MOUNTed for updating.
-
                Example:        DISCINFO
-                               DISCINFO DP1:
-
-
-
-
-
-
-
-
0                                                                          7.10.1980
1
0                                                                           DISMOUNT
-
                Form:           DISMOUNT  "DEVICE/A"
-
                Purpose:        To dismount a disc device.
-
                Author:         PB
-
                Specification:
-                  The specified device is dismounted.  There must be no files open
                or directories SET on the device for dismounting to be permitted.
-
                Example:        DISMOUNT  DF1:
-
-
-
-
-
-
-
-
-
-
-                                                                          7.10.1980
1
0                                                                               ECHO
-
                Form:           ECHO ""
-
                Purpose:        To output its argument to the currently selected
                                output stream.
-
                Author:         MR
-
                Source:         :com.bcpl.echo
-
                Specification:
-                  The single argument is written to the current output stream.
-
-
-
-
-
-
-
-
-
-
-                                                                          7.10.1980
1
0                                                                               EDIT
-
                Form:           EDIT  "FROM/A,TO,WITH/K,VER/K,OPT/K"
-
                Purpose:        To edit text files.
-
                Author:         ARA
-
                Specification:
-                  If TO is specified, EDIT reads from file FROM to file TO until a
                rewind occurs, when FROM becomes TO and TO becomes unset.  If TO is
                not specified, then FROM is edited to a temporary file and FROM is
                renamed :T.EDIT-BACKUP, and the output is renamed as FROM when the
                editor is wound up.  Commands are read from the current input
                stream, or WITH if it is present.
0                  OPT specifies options: Pn sets the maximum number of previous
                lines to n;  Wn sets the maximum line width.  Default is P20W120.
0                  Commands:
0               A/s/t/        After string s insert string t
                B/s/t/        Before string s insert string t
                C  file       obey Commands from file
                CC/x/         set Carriage Control to *x (x = N,C,E, or P)
                CC/?/         print Carriage Control for current line
                CF  file      Close File
                CL            Concatenate next Line to current one
                Dn  (m)       Delete line(s) n (to m)
                DF/s/         Delete up to line starting with s
                DL/s/         Delete up to line containing s
                DT/s/         Delete characters To s in current line
                DG/s/         Delete Global exchange for s
                DG//          Delete all Global exchanges
                E/s/t/        Exchange s by t
                F/s/          Find line beginning with s
                G/s/t/        Globally exchange s by t
                Hn            Halt at line n
                In  (file)    Insert before line n (from file)
                L/s/          Locate line containing s
                Mn            Move to line n
                N             Move to next line
                O  file       send Output to file
                P             move to Previous line
-
1
0               PA/s/         Point After s in current line
                PB/s/         Point Before s in current line
                Q             Quit (abandon whole edit session)
                Rn (m) (file) Replace line(s) n (to m) (by file)
                S file        read Source from file
                SA/s/         Split current line After s
                SB/s/         Split current line Before s
                Tn            Type n lines
                TLn           Type n lines with Line numbers
                TP            Type buffer of Previous lines
                TN            Type Next <P> lines (option P)
                TR+/-         Set/Unset stripping of trailing spaces
                U+/-          Set/Unset uppercasing before string matching
                V+/-          turn Verification on/off
                W             Windup (normal finish to edit session)
                Z/s/          set terminator for I & R (default Z)
                *             rewind
                +n            move on n lines
                -n            delete n lines
                0            move back n lines (* = as far as possible)
                =n            renumber current line n
                ?             verify current line
                !             verify indicating case or hex value
                '             repeat last explicit A,B,E,DL,DF,DT,PA,PB,
                              SA,SB,L or F command
                "             equivalent to N'
                &             repeat last L,F,DL or DF command
                |             ignore rest of command line
                >             step character pointer
                <             reset character pointer
                _             convert character to space
                #             delete character
                $             force character to lower case
                %             force character to upper case
                :             move character pointer to end of line
0                  EDIT is described in more detail in a separate document.
-
                Example:        EDIT PROG
-                               EDIT PROG TO NEWPROG
-
-
-
-
0                                                                          7.10.1980
1
0                                                                             ENDCLI
-
                Form:           ENDCLI
-
                Purpose:        To end an interactive CLI task.
-
                Author:         ARA
-
                Specification:
-                  ENDCLI is allowed only as an interactive command.
-
                Example:        ENDCLI
-
-
-
-
-
-
-
-
-
-
-
                                                                           7.10.1980
1
0                                                                            ENLARGE
-
                Form:           ENLARGE "/A,TO"
-
                Purpose:        To print a string in large letters.
-
                Author:         BJK
-
                Source:         :com.bcpl.enlarge
-
                Specification:
-                  The first argument is the string to be enlarged.  It will be
                truncated to 8 characters if it is longer.  The TO parameter
                specifies an output file.
                    The program may also be CALLSEGed: callseg(:c.enlarge, string)
-
                Example:        ENLARGE HELLO!
-
-
-
-
-
-
-
-
-                                                                          7.10.1980
1
0                                                                                 EX
-
                Form:           EX  "DIR,P=PAT/K,DISCKEYS/S,DATES/S,*
                                    *NODATES/S,TO/K,S/K,SINCE/K,UPTO/K"
-
                Purpose:        To examine a directory
-
                Authors:        PB BJK
-
                Specification:
-                  EX <dir> examines a directory, sending output to the current
                output stream.
0                  TO can be used to specify an output file.
0                  DISCKEYS prints the block number of each file header or
                directory.
0                  DATES causes all dates to be printed in the form DD-MMM-YY.
0                  NODATES suppresses date, time and size information.
0                  SINCE <date> prints only files last updated on or after <date>.
                <date> can be in the form DD-MMM-YY or a dayname in the last week
                (e.g. MONDAY) or TODAY or YESTERDAY.
0                  UPTO <date> prints only files last updated on or before <date>.
0                  P <pat> searches for files whose name matches <pat>.
0                  S <str> searches for filenames containing substring <str>.
-
                Example:        EX
-                               EX :COM.BCPL S DISC
-
-
-
                                                                           7.10.1980
1
0                                                                             FAILAT
-
                Form:           FAILAT  "RCLIM/A"
-
                Purpose:        To set the return code level at which a command
                                sequence will fail.
-
                Author:         CGG
-
                Specification:
-                  The argument should be a positive number.  The fail level will be
                reset to cli.initialfaillevel (currently 10) on exit from the
                command sequence.
-
                Example:        FAILAT 25
-
-
-
-
-
-
-
-
-
-
                                                                           7.10.1980
1
0                                                                              FAULT
-
                Form:           FAULT  ",,,,,,,,,"
-
                Purpose:        To print the text strings corresponding to the
                                supplied fault codes.
-
                Author:         PB
-
                Specification:
-                  The numbers are looked up in the file SYS:info.faults.
-
0               Example:        FAULT 182
-                               FAULT 294 296 199
-
-
-
-
-
-
-
-
-
0                                                                          7.10.1980
1
0                                                                            GLOBALS
-
                Form:           GLOBALS  <number>
-
                Purpose:        To print or change the number of globals available
                                to a CLI task.
-
                Author:         ARA
-
                Specification:
-                  If no number is specified, then the current size of the CLI
                global vector is printed.  Otherwise, the CLI task is recreated with
                the specified number of globals (minimum 200).
-
                Example:        GLOBALS
-                               GLOBALS 450
-
-
-
-
-
-
-
-
-
                                                                           7.10.1980
1
0                                                                              IDMAP
-
                Form:           IDMAP  "BLOCKS/S,NAMES/S,CODE/S,MAPSTORE/S*
                                       *TO/K,PIC/S"
-
                Purpose:        To provide information about store allocation.
-
                Author:         BJK
-
                Specification:
-                  Similar to MAP, except that the BLOCKS option is the default, and
                IDVEC is invoked to try to identify each allocated block.
-
                Example:        IDMAP
-
-
-
-
-
-
-
-
-
-
0                                                                          7.10.1980
1
0                                                                              IDVEC
-
                Form:           IDVEC  "ADDRESS/A"
-
                Purpose:        To try to identify the vector at the given address.
-
                Author:         BJK
-
                Specification:
-                  The given address is rounded up to make it odd if necessary, as
                all vectors delivered by GETVEC have odd addresses.
0                  The program may be invoked from another program by using CALLSEG.
-                e.g.  callseg("sys:c.idvec", unidentified.vector)
-
                Example:        IDVEC 10445
-
-
-
-
-
-
-
-
-
                                                                           7.10.1980
1
0                                                                                IEX
-
                Form:           IEX  "DIR,P=PAT/K,DISCKEYS/S,DATES/S,NODATES/S*
                                         *TO/K,S/K,SINCE/K,UPTO/K,I/S,TITLES/S"
-
                Purpose:        To examine a directory interactively
-
                Authors:        PB BJK PBr
-
                Specification:
-                  As for EX, except:
0                  It will examine a single file
0                  If TITLES is quoted, only the file titles are typed.
0                  Switch I causes it to be interactive (unless TO is quoted).  It
                then prompts after each file, and at the end types the usage.
                Responses to the prompt are:
0                 <cr>       Go on to next entry
                  ?          Help - type list of options
                  "x" (-)    set S option to x
                  'x' (-)    set P option to x
                  *          Return to beginning of this directory
                  DEL (-)    Add (remove) this file to (from) the
                             list of those to be deleted
                  E          Examine this directory
                  F (-)      Type full file information
                  K (-)      Type the key of each entry
                  L          List - cease interaction
                  P          Move to Previous entry (may upset totals)
                  Q          Quit - do not examine rest of this directory
                  TYPE       SCAN (q.v.) current file
                             TYPE TO LP: - print current file
                  T (-)      Only show file titles
                  W          Windup - exit to top level
0                  (-) indicates that the option may be turned off by putting a
                minus after it.  For strings it means "only examine if the match
                fails".
-
-
1
0               Example:        IEX I
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                                                          7.10.1980
1
0                                                                                 IF
-
                Form:           IF  "NOT/S,WARN/S,ERROR/S,FAIL/S,EQ/K,EXISTS/K"
-
                Purpose:        To allow conditionals within command sequences.
-
                Author:         ARA
-
                Specification:
-                  If one or more of the specified conditions is satisfied, then the
                rest of the command line (after ';') is obeyed;  otherwise it is
                skipped and the return code preserved.
0                 NOT        reverses the result
                  WARN       satisfied if previous return code >= 5
                  ERROR          "      "     "       "     "  >= 10
                  FAIL           "      "     "       "     "  >= 20
                  EQ a b     satisfied if a and b are textually
                             identical (disregarding case).
                  EXISTS file satisfied if the file exists (i.e. can
                              be opened for input).
-
                Example:        IF EXISTS FILE; TYPE FILE
-
-
-
-
-
-
-
0                                                                          7.10.1980
1
0                                                                               INIT
-
                Form:           INIT  "USER"
-
                Purpose:        To set a current directory and obey its
                                initialisation sequence.
-
                Author:         ARA
-
                Source:         If DIR is specified then it is set, and if it
                                contains an initialisation sequence (i.e. the file
                                DIR.init-sequence) then that is obeyed.
0                                  If no DIR is specified, then a prompt is issued
                                for one.
0                                  INIT does not use the standard C command
                                mechanism and does not write to the disc.  As a
                                consequence, if INIT is used in a command file, any
                                subsequent commands in that file are ignored.
-
                Example:        INIT :ADRIAN
-                               If the initial commands file contains:
0                                 TYPE :INFO.MESSAGE-OF-THE-DAY
                                  INIT
0                               then when it is obeyed, it will prompt the user:
0                                 User:
-
-
-
-
-
                                                                           7.10.1980
1
0                                                                  INITIALISE-FLOPPY
-
                Form:           C INITIALISE-FLOPPY  "NAME/A,DRIVE/A/K"
-
                Purpose:        To initialise a floppy disc to contain an empty
                                filing system.
-
                Author:         PB
-
                Source:         :s.initialise-floppy
-
                Specification:
-                  Mount floppy in drive <x>, then type:
0                C INITIALISE-FLOPPY NAME Paul-A DRIVE <x>
-
                Example:        C INITIALISE-FLOPPY NAME Paul-B DRIVE 0
-
-
-
-
-
-
-
-
-                                                                          7.10.1980
1
0                                                                              INPUT
-
                Form:           INPUT  "TO/A,TERM/K"
-
                Purpose:        To input text files.
-
                Authors:        MR RDE ARA
-
                Specification:
-                  Console input is copied to the file until end of stream (@Q) or a
                line consisting of just the terminator string is typed.
0                  The default terminator string is "/*".  TERM may be used to
                change it.
-
                Example:        INPUT PROG
-                               INPUT X TERM ????
-
-
-
-
-
-
-
-
-                                                                          7.10.1980
1
0                                                                               JOIN
-
                Form:           JOIN  ",,,,,,,,,,AS/A/K,CHARS/S"
-
                Purpose:        To concatenate zero or more files to form a new
                                file.
-
                Authors:        ARA MR BJK
-
                Specification:
-                  The specified files are copied in order into a temporary file
                which is then renamed as the AS file.  By default, copying is in
                words mode.  CHARS may be used to select character mode.
-
                Example:        JOIN A B C AS D
-
-
-
-
-
-
-
-
-
-
                                                                           7.10.1980
1
0                                                                                LAB
-
                Form:           LAB <text>
-
                Purpose:        To implement labels in command sequence files.
-
                Author:         CGG
-
                Specification:
-                  Ignores any parameters it is given.
-
                Example:        LAB
-                               LAB GRAYJUMPHERE
-                               LAB What a silly way to do a comment!
-
-
-
-
-
-
-
-
-
                                                                           7.10.1980
1
0                                                                            LIBRARY
-
                Form:           LIBRARY  "FROM,OVERRIDE/S,CANCEL/K,TABLE/K"
-
                Purpose:        To load a library of procedures and append it to the
                                BLIB segment chain, thus allowing standard globals
                                to be redefined.
-
                Author:         RDE
-
                Specification:
-                  FROM gives the file containing the library to be loaded.
0                  OVERRIDE allows loading of a library with the same (section) name
                as an existing one, without CANCELling the old one.
0                  CANCEL specifies a section name, and causes the section of that
                name to be unloaded.  Note that a new library will be loaded before
                a CANCEL is done, so that it is possible to replace a library with
                one of the same name in one command.
0                  TABLE has three possible arguments: NEW, ADD and DELETE.  It
                controls the table of resident libraries used by the linkage editor.
                NEW causes creation of a new table.  ADD causes the specified
                library to be added to the table, and DELETE causes it to be
                removed.
-
                Example:        LIBRARY LIB
-                               LIBRARY LIB CANCEL LIB
-                               LIBRARY LIB OVERRIDE LIBRARY CANCEL LOADER
-
-
-
-                                                                          7.10.1980
1
0                                                                                MAP
-
                Form:           MAP  "BLOCKS/S,NAMES/S,CODE/S,MAPSTORE/S*
                                     *TO/K,PIC/S"
-
                Purpose:        To print information about store allocation
-
                Author:         BJK
-
                Specification:
-                  MAP alone indicates the total amount of store in the store chain,
                the size of the largest contiguous free chunk and the total amounts
                allocated and free.
0                  BLOCKS gives the size and address of every block.
0                  NAMES gives the total space taken up by routine and section
                names.
0                  CODE gives the name, address and length of each loaded code
                section.
0                  MAPSTORE gives the name and address of every routine, and prints
                any profile counts found in the code.
0                  TO can be used to specify an output file.
0                  PIC gives the allocation map as a picture.  Each character
                printed represents 64 words of store.  '.' means it is free, '@'
                that it is completely allocated, and 'a' that it is partially
                allocated.
-
                Example:        MAP
-                               MAP PIC
-
-
-
                                                                           7.10.1980
1
0                                                                            MEMWAIT
-
                Form:           MEMWAIT  "MEM/A"
-
                Purpose:        To hold up execution of a command sequence until at
                                least <MEM> words of memory are likely to be
                                available.
-
                Author:         CGG
-
                Specification:
-                  Ctrl/B break abandons the wait.
-
                Example:        MEMWAIT 12000
-
-
-
-
-
-
-
-
-
-
0                                                                          7.10.1980
1
0                                                                            MESSAGE
-
                Form:           MESSAGE  "USER,TO,OPT/K"
-
                Purpose:        To receive any messages sent to a given directory.
-
                Author:         ARA
-
                Specification:
-                  Receives messages in the set directory, or in the one specified
                by USER.
0                  Options:
0                 D delete
                  E extract (= read then delete)
                  R read
                  I init (types "** Message for ..." if a messsage exists)
                  T test (types "** Message ..." or "** No message")
0                 Default option is R if USER specified, E otherwise.
0                  Directory :SYS.LOG holds the system log message file.
0                  Messages are deleted by renaming them :T.MESSAGE, so may be
                recovered.
-
                Example:        MESSAGE
-                               MESSAGE OPT R
-
-
-
-
-                                                                          7.10.1980
1
0                                                                            MONITOR
-
                Form:           MONITOR
-
                Purpose:        Continuous monitoring of system activity.
-
                Author:         MFR
-
                Specification:
-                  Runs on cursor addressable VDUs only.  Use CONSOLE TRAN OFF
                first.
0                  It draws a store map (similar to MAP PIC), and gives number of
                tasks, number of devices, and free store information.  Also listed
                are the currently loaded commands, with their task numbers.
0                  Use CNTL/B to stop the command.
-
                Example:        MONITOR
-
-
-
-
-
-
-
-
-                                                                          7.10.1980
1
0                                                                              MOUNT
-
                Form:           MOUNT  ",READ/S,VERSION/K,CACHESLOTS/K"
-
                Purpose:        To mount an auxiliary disc.
-
                Author:         PB
-
                Specification:
-                  The first parameter specifies the logical disc to be mounted.
0                  READ causes the disc to be mounted for reading only - i.e. no
                restart task is initiated for the new disc.
0                  CACHESLOTS controls the number of disc block slots in the cache
                for the new disc (default 10).
-
                Example:        MOUNT DF0:
-                               MOUNT DP0-1: READ
-
-
-
-
-
-
-
-
                                                                           7.10.1980
1
0                                                                             NEWCLI
-
                Form:           NEWCLI
-
                Purpose:        To create a new interactive CLI task.
-
                Author:         ARA
-
                Specification:
-                  The new CLI task has the same set directory and prompt string as
                the one in which NEWCLI is executed.  It announces its task number
                as it starts up.
-
                Example:        NEWCLI
-
-
-
-
-
-
-
-
-
-
0                                                                          7.10.1980
1
0                                                                             NEWSYS
-
                Form:           C NEWSYS  "LOAD/S"
-
                Purpose:        To link a new TRIPOS system and possibly load it.
-
                Author:         PB
-
                Source:         :s.newsys
-
                Specification:
-                  The system described in the file sys:sys.obj.system is linked
                into the file file sys:sys.obj.tripos.
0                  If LOAD is specified then SYSLOAD is executed to load the new
                system.
-
                Example:        C SYSLOAD
-                               C SYSLOAD LOAD
-
-
-
-
-
-
-
0                                                                          7.10.1980
1
0                                                                           PLAYBACK
-
                Form:           PLAYBACK  "FROM/A,WAIT/S,NOTIME/S"
-
                Purpose:        To play back a recording made by RECORD (q.v.).
-
                Author:         RDE
-
                Specification:
-                  FROM specifies the recording file.
0                  WAIT indicates that playback should start in "discontinuous" mode
                (see "SPACE" below).
0                  NOTIME specifies that playback should start in "fast" mode (see
                'f' and 's' below).
0                  During the playback, various characters can be used to control
                the program:
0                  space    Force out the next character, and go into
                            "discontinuous" mode:
                            i.e. only output the next character when
                            space or cr or esc is used.
0                  <cr>     Resume continuous mode
0                  <esc>    Resume continuous mode, but stop at end of line
0                  F        Enter "fast" mode, in which the timing information
                            is ignored
0                  S        Resume "slow" mode
0                  Q        Quit
-
                Example:        PLAYBACK RECORDING
-
-
-                                                                          7.10.1980
1
0                                                                           PLAYFAST
-
                Form:           PLAYFAST  "FROM/A,TO/K"
-
                Purpose:        To remove timing information from a file produced
                                by RECORD (q.v.).
-
                Author:         MR
-
                Specification:
-                  It copies a recording file from FROM to TO, removing all timing
                information and carriage returns.
-
                Example:        PLATFAST RECORD-FILE TO LP:
-
-
-
-
-
-
-
-
-
-
0                                                                          7.10.1980
1
0                                                                           PLAYTIME
-
                Form:           PLAYTIME  "FROM/A"
-
                Purpose:        To calculate the time it would take to play back a
                                file made by RECORD.
-
                Author:         BJK
-
                Example:        PLAYTIME RECORDING
-
-
-
-
-
-
-
-
-
-
-
-
-
                                                                           7.10.1980
1
0                                                                              PRINT
-
                Form:           PRINT  "FROM/A,TO,TITLE/K,OPT/K"
-
                Purpose:        To print a file with optional line numbers and multi
                                columning.
-
                Authors:        ARA BJK
-
                Specification:
-                  TO defaults to LP:
0                  Options:
0                  T    Truncate lines that are too long for
                        their column.
                   F    Take FROM filename as title if no
                        TITLE specified.
                   N    include line Numbers
                   C n  Print in n columns (default 1)
                   P n  Set page length to n
                   W n  Set line width to n
                   P    Turn off paging
0                  Titles are printed only if requested and the number of lines is
                sufficient.  Tabs are expanded.  Carriage controls *n, *c, *e, *p
                are handled.  Overprinting is possible if the printer allows it.
-
                Example:        PRINT PROG OPT N
-
-
-
-
-
0                                                                          7.10.1980
1
0                                                                             PROMPT
-
                Form:           PROMPT  "PROMPT"
-
                Purpose:        To change the prompt in the current CLI.
-
                Author:         RDE
-
                Specification:
-                  If no parameter is given, then the prompt is reset to the
                standard string ("> ").
0                  Otherwise, the prompt is set to the supplied string.  The CLI
                uses WRITEF to output the prompt, with arguments task id, hours, and
                minutes (of time of day), so the string may usefully contain WRITEF
                substitution sequences.
-
                Example:        PROMPT
-                               PROMPT "%n> "
-
-
-
-
-
-
-
-
                                                                           7.10.1980
1
0                                                                               QUIT
-
                Form:           QUIT  "RC"
-
                Purpose:        To exit from a command sequence with a given return
                                code.
-
                Author:         CGG
-
                Specification:
-                  QUIT reads through the command file to ENDSTREAMCH, and then does
                STOP(RC).
0                  The default return code is zero.
-
                Example:        QUIT
-                               QUIT 20
-
-
-
-
-
-
-
-
-                                                                          7.10.1980
1
0                                                                             RECORD
-
                Form:           RECORD  "TO,OFF/S,NOTIME/S"
-
                Purpose:        To record a console session with timing information.
                                The session can be played back by using the PLAYBACK
                                command.
-
                Author:         RDE
-
                Source:         :com.bcpl.record
                                :com.bcpl.record-task
-
                Specification:
-                  The RECORD command creates a task which acts as the console
                output device.  It causes the console handler to send all its output
                via this task, which sends it to the TO file as well as to the
                console.  The file contains special characters representing timing
                information.  The character #XFE indicates a delay of one clock
                tick, and the pair '#XFF n' represents a delay of n ticks (0 <= n
                <= 255).
0                  The OFF switch is used to finish a recording session.
0                  NOTIME causes the timing information to be omitted from the file.
-
                Example:        RECORD RECORDING
-                               RECORD OFF
-
-
-
-
0                                                                          7.10.1980
1
0                                                                            REFLECT
-
                Form:           REFLECT  command-file args
-
                Purpose:        To type out a command sequence file after
                                substituting the arguments.
-
                Author:         ARA
-
                Example:        REFLECT COMSEQ ABC DEF
-
-
-
-
-
-
-
-
-
-
-
-
-
                                                                           7.10.1980
1
0                                                                             RENAME
-
                Form:           RENAME  "FROM/A,TO=AS/A"
-
                Purpose:        To rename a file.
-
                Author:         PB
-
                Specification:
-                  The FROM file is renamed with the TO name.  FROM and TO must be
                filenames on the same disc.
-
                Example:        RENAME ABC AS DEF
-
-
-
-
-
-
-
-
-
-
-                                                                          7.10.1980
1
0                                                                             REPEAT
-
                Form:           command1; command2; . . . . ; REPEAT
-
                Purpose:        To cause a line of commands to be repeatedly
                                executed.
-
                Author:         PB
-
                Specification:
-                  The action of REPEAT is to 'unread' the command line it occurs
                in, and then return control to the CLI.  Thus the commands before
                REPEAT on the line will be repeatedly performed.
0                  REPEAT does nothing if the ctrl/D break flag is set.
-
                Example:        STATUS; WAIT 5; REPEAT
-
-
-
-
-
-
-
-
-
0                                                                          7.10.1980
1
0                                                                             RSWAIT
-
                Form:           RSWAIT  "DEVICE,QUIET/S"
-
                Purpose:        To wait until file handler restart has finished for
                                DEVICE (e.g. to hold up an init-sequence which
                                creates files).
-
                Authors:        RDE BJK PB
-
                Specification:
-                  Default device is SYS:
0                  Ctrl/B break will cause RSWAIT to abandon its wait.
0                  QUIET suppresses the warning message which is otherwise issued.
-
                Example:        RSWAIT
-                               RSWAIT DF1:
-
-
-
-
-
-
-
-
                                                                           7.10.1980
1
0                                                                                RUN
-
                Form:           RUN  command; command .....
-
                Purpose:        To execute commands in background tasks.
-
                Author:         ARA
-
                Specification:
-                  RUN creates a non-interactive Command Language Interpreter (CLI)
                task at low priority and gives it the rest of the command line as
                input.  The background CLI will execute the commands and then delete
                itself.
-
                Example:        RUN BCPL A TO B
-                               RUN  PRINT A; DELETE A; ECHO "Printing finished"
-
-
-
-
-
-
-
-
-
                                                                           7.10.1980
1
0                                                                               SCAN
-
                Form:           SCAN  "FILE/A,STOP,)/S,FROM=START=(,TO/K,NOLN,*
                                      *W=WIDTH/K,P=PAGELENGTH/K"
-
                Purpose:        To scan through a file
-
                Author:         PBr
-
                Specification:
-                  SCAN types selected lines of the file.  To type lines n to m,
                possible formats are:
0                  m
                   (n m)
                   ( n m )
                   m n
0                  n defaults to 1 and m to maxint.
0                  Unless NOLN is specified, line numbers are added.
0                  The program types <PAGELENGTH> of text and then waits for input,
                unless a TO file is specified.  Q, W or @Q stop the typing.  L makes
                it continuous.  <number> causes <number> lines to be printed before
                the next halt.
0                  Ctrl/B will cause it to stop at the next convenient point.
-
                Example:        SCAN A ( 100 150 )
-
-
-
-
-
                                                                           7.10.1980
1
0                                                                             SCREED
-
                Form:           SCREED  "FROM/A,TO"
-
                Purpose:        Screen editing of text files.
-
                Author:         BJK
-
                Specification:
-                  SCREED must be used from a cursor-addressable VDU.  It maintains
                a display of up to one screenfull of the file being edited, and the
                cursor may be moved about this image in order to insert or delete
                characters at any point.
0                  If only a FROM file is specified, then editing takes place from
                this to a temporary file, which is renamed as the FROM file on
                winding up.  If a TO file is also given, then the temporary file is
                renamed with that name, and the source file is left unchanged.
0                  Typing a printable character causes it to be inserted at the
                cursor position.  Commands are control characters.
0                  SCREED Commands:
0                  ctrl/B         Break - abandon current command
                   ctrl/C         Concatenate next line with current one,
                                  starting at cursor position
                   ctrl/D n       Move current line Down n lines
                   ctrl/E         Erase current line
                   ctrl/L string  Locate string
                   ctrl/Q         Quit - abandon whole edit session
                   ctrl/R         Rewind - copy rest of source to output
                                  and then make output the new source
                   ctrl/S         Split current line at cursor
                   ctrl/T n       Move To line n
                   ctrl/U n       Move current line Up n lines
                   ctrl/W         Windup - normal finish
                   ctrl/Y n       Move on bY n lines
                   HOME           Move cursor to top left corner
                   LINEFEED       = cursor down
                   RETURN         Create new line below current one
                   RUBOUT         Rub out character to left of cursor
                   TAB            Move cursor to next tab position
-
1
0                                 Move cursor left one place
                                  Move cursor right one place
                                  Move cursor to start of current line, or
                                  to start of previous line
                                  Move cursor to end of current line,
                                  or end of next line.  If already at bottom
                                  screen, then read in a new line of source
-
                Example:        SCREED PROG
-                               SCREED PROG TO NEWPROG
-
-
-
-
-
-
-
-
-
-
-
-
-
-
0                                                                          7.10.1980
1
0                                                                               SEND
-
                Form:           SEND  "USER/A,FROM,TERM/K"
-
                Purpose:        To send a message to the specified user's directory.
-
                Author:         ARA
-
                Specification:
-                  The message is inserted at the beginning of the file
                "message-text" in the specified directory.  "message-work" in that
                directory is used as workspace.
0                  If FROM is specified then the message is read from that file,
                otherwise from the command input stream.
0                  The message is read up to a line consisting exactly of the
                terminator specified by TERM.  Default TERM is "/*" if FROM is
                absent, or unset if FROM is present.
-
                Example:        MESSAGE ADRIAN FROM MESS
-                               MESSAGE ABCD
                                line 1
                                line 2
                                  .
                                  .
                                /*
-
-
-
-
-
0                                                                          7.10.1980
1
0                                                                                SET
-
                Form:           SET  "DIR,COMDIR/K"
-
                Purpose:        To set a working directory and default command
                                directory.
-
                Author:         ARA
-
                Specification:
-                  SET alone causes the root directory to become the current working
                directory.
0                  DIR specifies a new working directory (i.e. one in which
                unqualified filenames are looked up).
0                  COMDIR specifies a default command directory (i.e. one in which
                commands should be sought when they are not found in the working
                directory).  The initial command directory is SYS:C.
-
                Example:        SET
-                               SET :BRIAN
-                               SET DF1:T COMDIR DF1:C
-
-
-
-
-
-
                                                                           7.10.1980
1
0                                                                               SKIP
-
                Form:           SKIP  "LABEL"
-
                Purpose:        To perform a jump in a command sequence.
-
                Author:         CGG
-
                Specification:
-                  SKIP is used in conjunction with LAB (q.v.).
0                  It can be used either with or without a label; without one, it
                finds the first unnamed LAB command.  LAB must be the first item on
                a line of the file.
0                  SKIP will only jump forwards in the command sequence.
0                  Labels are not local to command files.
-
                Example:        SKIP
-                               SKIP ERRORLAB
-
-
-
-
-
-
-
0                                                                          7.10.1980
1
0                                                                              SPOOL
-
                Form:           SPOOL  "TO"
-
                Purpose:        To divert output from commands to a file.
-
                Author:         RDE
-
                Specification:
-                  SPOOL <file> changes the standard command output stream to be to
                the given file.
0                  SPOOL with no argument closes the file and redirects command
                output to the console.
-
                Example:        SPOOL :T.0
-                               SPOOL
-
-
-
-
-
-
-
-
-                                                                          7.10.1980
1
0                                                                             SQUASH
-
                Form:           SQUASH  "FROM/A,TO/A"
-
                Purpose:        To produce compressed copies of files for archive
                                purposes, thus saving disc space.
-
                Author:         MFR
-
                Specification:
-                  The file must be a text file.  Repeated characters in the input
                file are replaced by a pair of bytes:  a flag/count character and
                the character to be repeated.
0                  Typical reductions in size are 10% - 50%
-
                Example:        SQUASH A TO SQUASHED-A
-
-
-
-
-
-
-
-
-
0                                                                          7.10.1980
1
0                                                                              STACK
-
                Form:           STACK  "SIZE"
-
                Purpose:        To print or set the stack size for commands.
-
                Author:         RDE
-
                Specification:
-                  STACK alone writes out the currently set stack size.
0                  STACK n sets the stack size for running further commands to n
                words.
-
                Example:        STACK
-                               STACK 1000
-
-
-
-
-
-
-
-
-
                                                                           7.10.1980
1
0                                                                             STATUS
-
                Form:           STATUS  "TASK,FULL/S,SEGS/S,TCB/S,CLI=ALL/S"
-
                Purpose:        To print information about the tasks currently in
                                existence.
-
                Author:         BJK
-
                Specification:
-                  STATUS alone lists the numbers of the tasks, indicating whether
                each is waiting, suspended, running, interrupted, held and/or
                broken, and whether its work queue is empty.
0                  TASK specifies a task number: only information about that task is
                produced.  Otherwise information is printed about all tasks.
0                  FULL = SEGS + TCB + CLI
0                  SEGS prints the names of the BCPL sections on each task's segment
                list.
0                  TCB prints information about the priority, stacksize, and global
                vector size of each task.
0                  CLI identifies Command Language Interpreter tasks, and prints the
                section name(s) of the currently loaded command (if any).
-
                Example:        STATUS
-                               STATUS 4 FULL
-                               STATUS CLI
-
-
-
0                                                                          7.10.1980
1
0                                                                            STRETCH
-
                Form:           STRETCH  "FROM/A,TO/A"
-
                Purpose:        To restore a compressed file made by SQUASH (q.v.).
-
                Author:         MFR
-
                Example:        STRETCH SQUASHED-A TO A
-
-
-
-
-
-
-
-
-
-
-
-
-
0                                                                          7.10.1980
1
0                                                                           SYSIMAGE
-
                Form:           SYSIMAGE  "FROM/A,UNIT/K,PRIMARY/S,SECONDARY/S"
-
                Purpose:        To write a core image bootstrap to the bootstrap
                                area of a disc.
-
                Author:         PB
-
                Specification:
-                  The FROM file should be an absolute object module of a TRIPOS
                system produced by SYSLINK (q.v.).
0                  UNIT specifies the disc drive number.
0                  PRIMARY and SECONDARY control which of the two bootstrap areas is
                used.
-
                Example:        SYSIMAGE TRIPOS UNIT 0 PRIMARY
-
-
-
-
-
-
-
-
-                                                                          7.10.1980
1
0                                                                            SYSLINK
-
                Form:           SYSLINK  "FROM/A,TO/A,MAP/K,OPT/K"
-
                Purpose:        To create an absolute object module of a TRIPOS
                                system suitable for SYSLOADing or SYSIMAGEing.
-
                Author:         ARA
-
                Specification:
-                  See separate document describing SYSLINK.
-
                Example:        SYSLINK SYSTEM TO TRIPOS MAP *
-
-
-
-
-
-
-
-
-
-
-                                                                          7.10.1980
1
0                                                                            SYSLOAD
-
                Form:           SYSLOAD  "FROM/A"
-
                Purpose:        To load a TRIPOS system without rewriting the
                                bootstrap area of the disc.
-
                Author:         PB
-
                Specification:
-                  The FROM file should be one produced by SYSLINK (q.v.).
0                  The current system is overwritten in store by the new one, which
                is then entered.
-
                Example:        SYSLOAD TRIPOS
-
-
-
-
-
-
-
-
-
-                                                                          7.10.1980
1
0                                                                                  T
-
                Form:           T  "FILE/A"
-
                Purpose:        To switch the command input stream to the given
                                file.
-
                Author:         ARA
-
                Specification:
-                  T behaves rather like the C command, but does not need to write
                to disc, and does not do parameter substitution.  Therefore it can
                be used to execute command files during file handler restart.
-
                Example:        T ABC
-
-
-
-
-
-
-
-
-
-
                                                                           7.10.1980
1
0                                                                               TALK
-
                Form:           TALK  "TMES,"
-
                Purpose:        To send a message to another console.
-
                Author:         RDE
-
                Specification:
-                  The command will print a message of the form:
0                  From Tn: <message>
0               on a console (n is the taskid of the issuing CLI).
0                  There are two ways of using the command:
0               i)  With two parameters:
0                  e.g. TALK 3 "Twas brillig and the slithy toves"
0                  In this case, the first parameter must be the task number of a
                console handler, and identifies the console which is to receive the
                message.
0               ii) With one parameter:
0                  e.g. TALK "And shun the frumious bandersnatch"
0                  In this case, the first console handler found that is not the one
                used by the current CLI receives the message.
-
-
-
-
-
0                                                                          7.10.1980
1
0                                                                           TASKWAIT
-
                Form:           TASKWAIT "TASK/A,ECHO/K"
-
                Purpose:        To wait for a given task to complete.
-
                Author:         MFR
0                                  TASK is the task identifier of a task. Taskwait
                                wakes up every so often to see if the task has
                                dissappeared ; when it does so any message
                                associated with ECHO will be output, and TASKWAIT
                                will then finish.
-
                Example:        TASKWAIT 5 ECHO "RESTART COMPLETE"
-
-
-
-
-
-
-
-
-
-
-
0                                                                          7.10.1980
1
0                                                                               TIME
-
                Form:           TIME  "IS"
-
                Purpose:        To print or set the system time.
-
                Author:         BJK
-
                Specification:
-                  TIME with no argument prints the current system time.
0                  If an argument is given, the system time is set to the specified
                value.  The format of the argument may be HH:MM:SS or HH:MM or HH.
-
                Example:        TIME
-                               TIME 10:35
-
-
-
-
-
-
-
-
-
                                                                           7.10.1980
1
0                                                                               TYPE
-
                Form:           TYPE  "FROM/A,TO,OPT/K"
-
                Purpose:        To type a text file.
-
                Author:         ARA
-
                Specification:
-                  TO specifies an output file; by default, output is to the current
                output stream.
0                  OPT N causes line numbers to be included in the output.
0                  Tabs are expanded.
-
                Example:        TYPE :T.0 OPT N
-
-
-
-
-
-
-
-
-
0                                                                          7.10.1980
1
0                                                                            TYPEHEX
-
                Form:           TYPEHEX  "FROM/A,TO/K"
-
                Purpose:        To type a file out as hexadecimal numbers.
-
                Author:         MR
-
                Specification:
-                  TYPEHEX outputs four hex digits for each word of the file, laid
                out 16 per line.
-
                Example:        TYPEHEX OBJ
-
-
-
-
-
-
-
-
-
-
-                                                                          7.10.1980
1
0                                                                               WAIT
-
                Form:           WAIT  ",SEC=SECS/S,MIN=MINS/S,UNTIL/K"
-
                Purpose:        To introduce a delay into a sequence of commands.
-
                Author:         ARA
-
                Specification:
-                  The default waiting time is one second.
0                  The parameter should be a number, specifying the number of
                seconds (or minutes if MINS is quoted) to wait.
0                  UNTIL may be used to wait until a specific time of day, given in
                the format HH:MM.
-
                Example:        WAIT
-                               WAIT 10
-                               WAIT 5 MINS
-                               WAIT UNTIL 21:30
-
-
-
-
-
-
                                                                           7.10.1980
1
0                                                                                WHY
-
                Form:           WHY  "TYPE <CR> TO KNOW ..."
-
                Purpose:        To explain why the previous command failed.
-
                Author:         PB
-
                Specification:
-                  The fault message corresponding to the value returned in RESULT2
                by the previous command will be printed.
-
                Example:        WHY
-
-
-
-
-
-
-
-
-
-
-                                                                          7.10.1980
1
0                                   Appendix 1: Command Authors
+                                   ___________________________
-
                ARA   Adrian Aylward
                PB    Paul Bond
                PBr   Piete Brooks
                DSC   Dale Strickland-Clark
                NGPD  Nigel Day
                RDE   Richard Evans
                CGG   Gray Girling
                JJG   Jon Gibbons
                BJK   Brian Knight
                NMM   Nick Maclaren
                MFR   Mike Richardson
                MR    Martin Richards
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                                                          7.10.1980
1
