If any part of the editor is present in the image, every editor command that has been loaded will be kept in the delivered image. Two
deliver
keywords allow you to specify which commands to keep and which commands to delete:
:editor-commands-to-keep
(default
nil)
:editor-commands-to-delete
(default
:all-groups)
The effect of these default values is that all the commands are deleted. If a command is both these lists, it is kept.
To get rid of editor commands, use the keyword argument
:editor-commmands-to-delete
to
deliver
.
Deleting a command does not automatically delete the associated function. For example, the function
editor:do-something-command
could be called by the application even if the command
"Do Something"
has been deleted.
The function itself is only deleted if it is not referenced elsewhere in the application or if it is removed explicitly. Therefore, an application which uses the editor in a non-interactive or limited interactive manner can delete all or most of the editor commands. Note also that key bindings associate key sequences with commands and not functions, so if a command is deleted any sequences bound to it will no longer work. For consistency, the delivery process unbinds them too.
The keyword
:editor-commands-to-delete
is processed in different ways depending on the sort of value passed:
Process each element of the list. (Thus the list is traversed recursively.)
The corresponding editor command is deleted.
Taken to specify a Command Group.
The available Command Groups are:
The simple editor contains basic mechanisms for editing text files, including regions, buffers and windows, movement, insertion and removal commands, key bindings, the echo area and extended commands (such as
Alt+X
), file handling commands, filling and indenting, and undo.
The full editor has all the facilities of the simple editor, and adds handling for Lisp forms, auto-save help and other documentation commands searching, including the system based search commands, tags support, and support for interactive modes.
The extended editor adds Lisp introspection to those features: arglists, evaluate, trace, walk-form, symbol completion, dspecs, callers and callees, buffer changes, and hooks into the inspector and class, generic function, and system browsers.
Commands present in the standard LispWorks image only if they are demand loaded.
Commands supporting tools which must be explicitly loaded on top of the editor, for example the listener.
Commands always deleted by the delivery process, for example, compilation commands.
LispWorks Delivery User Guide - 13 Dec 2011