* WHERE-IS library doc * Gather keyboard files, add VIRTUAL.TEDIT * add UNIXCOMM.TEDIT * rest of TEdit library files * save table of contents index for reworking * Don't move around VIRTUALKEYBOARDS files; will move in separate commit * Add MATMULT from Envos/Medley
366 lines
53 KiB
Plaintext
366 lines
53 KiB
Plaintext
1
|
||
|
||
Lisp Library Modules, Medley Release 1.0, DEDIT
|
||
1
|
||
|
||
Lisp Library Modules, Medley Release 1.0, DEDIT
|
||
DEDIT
|
||
1
|
||
|
||
DEDIT
|
||
1
|
||
|
||
|
||
DEDIT
|
||
6
|
||
|
||
Many important objects such as function definitions, property lists, and variable values are represented as list structures. There are two list structure editors (SEdit in the system, and DEdit (DEDIT% NIL DEdit% NIL NIL 51)in the library, for backward compatibility) to allow users to modify list structures rapidly and conveniently.
|
||
Description
|
||
1
|
||
|
||
The list structure editor(LIST% STRUCTURE% EDITOR NIL list% structure% editor NIL NIL 51) is most often used to edit function definitions. Editing function definitions in memory is a facility not offered by many Lisp systems, where typically the user edits external text files containing function definitions, then loads them into the environment. In Lisp, function definitions are edited in the environment, and written to an external file using the file manager (see IRM), which provides tools for managing the contents of a file.
|
||
History
|
||
Early implementations of Interlisp using primitive terminals offered a teletype-oriented editor, which included a large set of cryptic commands for printing different parts of a list structure, searching a list, replacing elements, etc. The library includes an extended, display-oriented version of the teletype list structure editor, called DEdit.
|
||
The teletype editor(TELETYPE% EDITOR NIL teletype% editor NIL NIL 51) is still available (see IRM), as it offers a facility for doing complex modifications of program structure under program control. DEdit also provides facilities for using the teletype editor commands from within DEdit.
|
||
DEdit
|
||
DEdit is a structure oriented, modeless, display based editor for objects represented as list structures, such as functions, property lists, data values, etc.
|
||
DEdit incorporates the interfaces of the teletype-oriented Interlisp editor, so the two can be used interchangeably. In addition, the full power of the teletype editor, and indeed the full Interlisp system is easily accessible from within DEdit.
|
||
DEdit is structure-oriented rather than character-oriented, to facilitate selecting and operating on pieces of structure as objects in their own right, rather than as collections of characters. However, for the occasional situation when character-oriented editing is appropriate, DEdit provides access to the text editing facilities. DEdit is modeless, in that all commands operate on previously selected arguments, rather than causing the behavior of the interface to change during argument specification.
|
||
Requirements
|
||
1
|
||
|
||
DEDITPP
|
||
Installation
|
||
1
|
||
|
||
Load DEDIT.LCOM from the library.
|
||
Loading DEdit makes it the default Lisp structure editor.
|
||
If another Lisp structure editor is already the default and you want to make DEdit the default, call (EDITMODE(EDITMODE (function) NIL NIL NIL 52) 'DEDIT) after loading DEdit.
|
||
User Interface
|
||
1
|
||
|
||
DEdit is normally called using one of the DEdit functions. See also "Advanced Features" below.
|
||
DEdit Window(DEDIT% WINDOW NIL DEdit% Window NIL NIL 52)
|
||
When DEdit is called for the first time, it prompts for an edit window which is preserved and reused for later DEdits, and it pretty-prints the expression to be edited therein.
|
||
Note: The DEdit pretty printer ignores user PRETTYPRINTMACROS because they do not provide enough structural information during printing to enable selection.
|
||
The expression being edited can be scrolled by using the standard scroll bar on the left edge of the window. DEdit adds a command menu, which remains active throughout the edit, on the right edge of the edit window. If you type anything, an edit buffer window(EDIT% BUFFER% WINDOW NIL edit% buffer% window NIL NIL 52) is positioned below the edit window. This is illustrated in the figure below, which shows the definition of a function called FACT. While DEdit is running, it yields control so that background activities, such as mouse commands in other windows, continue to be performed.
|
||
|
||
|