SPECIAL COMMANDS
The most important Special command is the Close command "%C" which is
the normal method of closing off the edit and making permanent the
changes to the file. If for any reason it is desired to ABANDON the
edit without giving effect to the changes, the Abandon command "%A"
should be used instead. The variant "%Ci" is used to invoke IMP syntax
checking before finally closing the file.
See also the section on MACROS for the Special commands "%Q" (Query key
definition) and "%K" (define Key).
modify Environment %E
The Environment command "%E" switches the Editor into a mode in
which the various options described above may be modified. It cycles
through the list of modifiable options displaying the current value and
permitting an alternative value to be specifed. The RETURN key is used
to move on to the next in the list and colon is used to return to
editing. For a numeric option, a number must be typed to specify a new
value; for a yes/no option any response other than RETURN or colon is
sufficient to alter the setting.
set Display size %Dn
This command provides an alternative means of setting MINWIN,
without entering Environment setting mode. When used by itself,
without <n>, it leaves MINWIN un-altered but re-writes the display. It
should be used if for any reason the window has been corrupted (by an
operator message, for example).
set Line width/Margin %Ln / %Mn
These commands provide an alternative means of setting WIDTH and
MARGIN. The parameter WIDTH specifies the maximum line length to be
used in connection with the Adjust and 'At' commands (and for failure
conditions in the case of Insert and Join).
The initial default value is 80.
The parameter MARGIN specifies a left margin position, which defines
the effective start of the line. This determines where the file
pointer is placed following a Move or Move back command, and is also
relevant to the operation of the Adjust command. WIDTH is inclusive of
MARGIN.
define Secondary input %S file-name
As an alternative to specifying a secondary input file at the time
of calling the Editor, a command of the form "%S" followed by a
file-name may be given during the course of editing. This establishes
the named file as the secondary input and switches to it. Any existing
secondary file is discarded. In some implementations, the amount of
information which can be added from a file specified in this way may be
limited, compared with what can be inserted when the secondary input
file is specified at the outset.
Get commands from file %G file-name
The parameter PRE noted above permits an initial set of commands to
be read from a file. The %G command allows a command file to be
nominated at any time during the course of editing, for example, to
allow a different set of macros to be set up, or to invoke a complex
but stereotyped sequence of editing operations.
Put key definitions to file %P file-name
This command allows all the key definitions which have been made
since the start of the current editing session to be saved in a
specified file for subsequent recall (as PRE or via %G). Definitions
of control keys are represented in a coded form, using only printing
characters.
Wipe record of deleted lines %W
The fact that the Editor retains a record of all lines deleted from
the file, against the possibility of later re-insertion, can sometimes
be a nuisance, since lines that are definitely not wanted again may get
in the road of those that are. The Wipe command "%W" causes the record
of the last <n> deleted lines to be lost so that they become
irrevocable.
It may be necessary to use Wipe in order to bring in a large amount
of data for a secondary input file to replace a large chunk deleted
from the main file.
IMP syntax checking %Ci or %CI
These variants of the Close command are used to invoke a check on
the syntax of an IMP program file before it is finally closed. The
first form (lower-case 'i') signifies that a return is to be made to
the editor whenever an error is detected; the second form (upper-case
'I') implies checking through the entire file without interaction.
The dialect of IMP which the checker accepts is the agreed common
subset of EMAS IMP80 and VAX/VMS IMP77. Some, but not all, of the
features which are peculiar to one of these dialects are also accepted,
in general with a "Non-standard" warning. The checker detects most of
the faults which would be reported by the compilers, though there may
be minor discrepancies due to organisational differences and some of
the table limits are inevitably different. This is a novel feature and
feedback from users would be helpful in refining it.