MTS 8: LISP and SLIP in MTS
June 1976
Command: UNDO [command]
The UNDO command reverses the last structure-modifying command. If
the optional argument "command" is given, it is compared with the
name of the command to be reversed, and reversal takes place only
if they are the same.
UNDO is itself a structure-modifying command, and may be UNDOne,
but UNDO commands are normally skipped by subsequent UNDO commands
unless a reversal is requested explicitly by UNDO UNDO.
Examples:
.?
:(A B C D E F)
.DELETE C : DELETE D : ?
:(A B E F)
.UNDO
:DELETE UNDONE
.?
:(A B D E F)
.UNDO
:DELETE UNDONE
.?
:(A B C D E F)
.UNDO
:NOTHING SAVED
.??
:UNDO UNDO
.UNDO UNDO
:UNDO UNDONE
.?
:(A B D E F)
Commands: TEST, !UNDO, UNBLOCK
These three commands can be used to make a set of tentative changes
to a structure. All of these changes can subsequently be reversed
at once. The TEST command places a block in the list of _____
structure-modifying commands. A block stops the execution of the
!UNDO command, which reverses all structural changes made since the
block (i.e., since the TEST command). If there is no block in the
list the !UNDO command reverses all changes made since the
invocation of the LISP editor. The UNBLOCK command removes the
most recent block from the list.
Note: A block also blocks the UNDO command. The UNDO command
skips the !UNDO command unless it is explicitly requested, but
!UNDO reverses all commands, including UNDO and !UNDO.
98 The LISP Editor

MTS 8: LISP and SLIP in MTS
June 1976
MISCELLANEOUS COMMANDS ______________________
Command: OK
The OK command causes the EDIT function to return to its caller.
Command: E form
The E command evaluates the S-expression "form". If an error
occurs during evaluation, the editor may be reentered by evaluating
(UNEVAL ’EDITONE NIL) in the break loop.
Command: S atom
The S command saves the current expression on the property list of
"atom". It may be retrieved by using "## atom" in the "s1...sn"
sequence of the INSERT command.
Example:
.?
:(LAMBDA (X) (COND ((NULL X) NIL) (T (CONS X X))))
.F NULL P S QREG # ?
:(NULL X)
:(LAMBDA (X) (COND ((NULL X) NIL) (T (CONS X X))))
.INSERT ## QREG FOR CONS : ?
:(LAMBDA (X) (COND ((NULL X) NIL) (T (NULL X))))
Command: EXCISE
The EXCISE command removes all editor-related atoms from the object
list, thereby making the editor available for garbage collection.
Command: DSKIN FDname
The DSKIN command reads S-expressions from the MTS file or device
"FDname". Each S-expression is saved on the property list of
FDname for later use in the DSKOUT command, and then is evaluated.
The result of the evaluation is ignored.
Command: DSKOUT FDname
The action of the DSKOUT command depends on "FDname" as follows:
(1) If "FDname" has been used previously in the DSKIN command,
the list of expressions read by that command is retrieved
from the property list of "FDname", and the user is
prompted for another "FDname", on which this list of
(possibly changed) expressions are written. This second
"FDname" may be the same as the first "FDname" given in the
command, but in any case must be a file name, since it is
The LISP Editor 99
Previous Page Next Page