Trailing-Edge
-
PDP-10 Archives
-
decus_20tap1_198111
-
decus/20-0004/a3lisp.doc
There are no other files named a3lisp.doc in the archive.
Appendix 3
Control Characters
Several teletype control characters are available to the user for communicating
directly to INTERLISP, i.e., not through the read program. These characters
are enabled by INTERLISP as interrupt characters, so that INTERLISP immediately
'sees' the characters, and takes the corresponding action as soon as possible.
For example, control characters are available for aborting or interrupting a
computation, changing the printlevel, etc. This section summarizes the action
of these characters, and references the appropriate section of the manual where
a more complete description may be obtained. Section 16 describes how these
interrupt characters can be disabled and/or redefined, as well as how the user
can define his own new interrupt characters.
Control Characters Affecting the Flow of Computation
1. control-H (interrupt) at next function call, INTERLISP goes into
a break. Section 16.
2. control-B (break) computation is stopped, stack backed up to the
last function call, and a break occurs. Section 16.
3. control-E (error) computation is stopped, stack backed up to the
last errorset, and NIL returned as its value. Section
16.
4. control-D (reset) computation is stopped, control returns to
evalqt.
5. control-C In INTERLISP-10, computation is stopped, control
returns to TENEX. Program can always be continued
without any ill effect with TENEX CONTINUE command.
If typed during a garbage collection the action of control-B, control-E, and
control-D is postponed until the garbage collection is completed.
Typing control-E and control-D causes INTERLISP to clear and save the input
buffers. Their contents can usually be recovered via the $BUFS (alt-modeBUFS)
command, as described in Section 22.
I/O Control Characters
1. rubout clears teletype input buffer. For example, rubout
would be used if the user typed ahead while in a
garbage collection and then changed his mind. Section
2. A bell is rung when the buffer has been cleared, so
that the user will know when he may begin typing
again.
A3.1
Note: a sudden burst of noise on a telephone line frequently causes INTERLISP
to receive a rubout, since the code for rubout is 177Q, i.e. all 1's. This
causes INTERLISP to (mistakenly) clear the input buffer and ring a bell. If
INTERLISP seems to be typing many spurious bells, it is a good indication
that you have a bad connection.
2. control-O clears teletype output buffer, Sections 2 and 14.
3. control-P changes printlevel. Section 14.
1
4. control-A, Q line editing characters, Sections 2 and 14.
5. control-R causes INTERLISP to retype the input line, useful after
several control-A's, e.g.,
user types: _DEFINEQ((LAMDA\A\DBA\Acontrol-R
INTERLISP types: DEFINEQ((LAMB
6. control-V on input from the terminal, control-V followed by A, B,
... Z inputs the corresponding control character,
otherwise is a nop. The control-V is not passed to the
line buffer; the transformation takes place before
that. Thus ABC^VD followed by two control-A's erases
the control-D and the C. ^V takes precedence over ,
i.e. ^V inputs a control-C, ^VC inputs a C.
Miscellaneous
1. control-T (time) prints total execution time for program, as well
as its status, e.g.,
_RECLAIM()
GC: 8
RUNNING AT 15272 USED 0:00:04.4 IN 0:00:39
1933, 10109 FREE WORDS
10109
_ IO WAIT AT 11623 USED 0:00:05.1 IN 0:00:49
2. control-S (storage) change minfs. Section 10.
3. control-U if typed in the middle of an expression that is being
typed to evalqt, break1 or the editor, will cause the
editor to be called on the expression when it is
finished being read. See Section 22.
**FOOTNOTES**
1
Control-A, Q, R, and V are not interrupt characters, since their effect
does not take place when they are typed, but when they are read. Section
14 describes how these pseudo-interrupt characters can also be
disabled and/or redefined. Note that control-A, Q, R, and V have their
special effect only on input from the terminal. On input from files, they
are treated the same as any other character.
A3.2