There are 5 other files named command-editor-notes.txt in the archive. Click here to see a list.
This document will attempt to explain Digital's position in
regard to the EXEC command editor that we are providing on the
Release 6.1 "TOOLS" tape. It also describes some of the things
we've done which are different from existing versions of the
The TOPS-20 EXEC Command Editor saves a limited number of
commands which the user has typed in and allows those to
re-executed. If a the user has made a mistake, the command
editor allows the command to be corrected and then re-executed.
Commands can be corrected using commands which are similar to
several well known editors.
The command editor code is available from Digital only on an
"AS IS" and UNSUPPORTED basis. Like MIC and PCL, we do not
guarantee to to fix any problems found in this code. However, we
are also users of this code, we do attempt to fix problems on a
best effort basis.
The original command editor code was written by Billy Brown
while at the University of Texas. The code has been distributed
throughout the TOPS-20 Arpanet community for a many years and
has been modified by a number of different sites.
The command editor code that is on this "TOOLS" tape is
based on a version which was obtained from NYU. However, most of
the code is very different from either the UTexas or NYU
version. It differs in that most all the code to handle the
command editor is now in the command editor module, EXECCE. The
code has many new features and has many of the interface
routines to the rest of the EXEC re-written to make it more
There are a few known bugs in both our version of the
command editor and other versions. Most of these deal with very
long command strings. Also, our version of the command editor
does not have several new emacs mode features that are in the
NYU version. We will try to incorporate these into the code at a
We've also made it possible for even non-source sites to
build an EXEC with the command editor enabled. This has been
done by installing the necessary hooks into the standard EXEC
modules, removing conditional code from all but the EXECCA
module. All a non-source site must do to turn the feature on, is
to recompile EXECCA with the proper feature test switches turned
on or off, and relinking the EXEC.
The main body of the command editor code is in a module
called EXECCE.MAC. It contains the following global subroutines.
CSAVE saves the contents of the command buffer for later
.CEPSI process the interrupt character to allow command
.SCEIC Set the interrupt character to enter edit mode
.SNCEI Unset the intterrupt character (SET NO.....)
.META } Sets..
.NOMET} ...or unsets META key.
INFOCE Information about command level -
Says whether EMACS or ALTER mode
Says what interrupt character is
IMETKY Says whether META key is set or unset
.CEDMO Sets edit mode (presently EMACS or ALTER)
.SEHST Makes list of commands for command history
CMDHST Saves commands for command history
.REDO Processes REDO command
.AGAIN Processes AGAIN command
Several other EXEC modules have some code concerned with the
EXEC0 Initializes the command editor Assigns
the interrupt character for command
EXEC1 Manipulates and tests a flag to ensure
that the LOGIN command and user's
password will not be saved.
EXECCA Defines assembly switch FTCE Has list of
dummy names of routines in EXECCE Has
tables of commands in which those for
command editing are under the FTCE
switch. Has definition of command editor
interrupt channel, also under FTCE.
EXECDE Definitions for buffer lengths, interrupt
EXECIN Calls routines in EXECCE to get info
about the command editor for INFORMATION
EXECPR More (various) definitions
EXECSE Calls routines to SET/SET NO
EXECSU Calls routine to save commands for