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.