* Change internal names of various user procedures to correspond to
the external names:
edwin edit
edwin-discard-state! reset-editor
edwin-reset create-editor
edwin-reset-args create-editor-args
edwin-set-display! set-editor-display-type!
The external interface to Edwin now consists of the following
procedures:
(EDIT)
(RESET-EDITOR)
(RESET-EDITOR-WINDOWS)
As before.
(EDITOR-DISPLAY-TYPE)
Returns the display-type of the current editor. This is
either a symbol or #F.
(EDITOR-DISPLAY-TYPES)
Returns the names of all the known display types, in a list.
(CREATE-EDITOR DISPLAY-TYPE . ARGS)
Initializes a display of the given type, passing the args to
the screen-construction code.
CREATE-EDITOR-ARGS
This variable is a list of arguments to be passed to
`create-editor' if it is necessary for `edit' to call it.
* Add new command `define-command', which is solely a placeholder for
the documentation string it possesses.
* Implement editor variable `inhibit-startup-message' -- see the
documentation string.
* `enable-transcript-buffer' is now #F by default -- it is normally
enabled in Scheme-Interaction mode only.
* Change the definitions of the commands `set-environment' and
`set-syntax-table' to set the editor variables `scheme-environment'
and `scheme-syntax-table'. The old behavior of these commands is
available via the new commands `set-repl-environment' and
`set-repl-syntax-table'. Other new commands are
`set-default-environment' and `set-default-syntax-table'.
* Change definition of `scheme-syntax-table', allowing it to be a
symbol which is regarded as a variable to be evaluated relative to the
evaluation environment.
* Add init files, which are found in "~/.edwin". The new global
variable `inhibit-editor-init-file?' (defined in the system global
environment), prevents your init file from being loaded if it is true.
* Add new "find-file initialization" hack: this is invoked whenever
`find-file' or `revert-buffer' is done. The reason for this hack is
to allow a database file to contain evaluation environment and
syntax-table information for the editor.
When a `find-file' (or `revert-buffer') is done, the editor looks in
the directory of the file for one of two files:
1. If the file's name is "foo.scm", the editor looks for a
file "foo.ffi" (-only- if the type is ".scm"). Otherwise,
2. The editor looks for the file ".edwin-ffi".
If one of these files are found, it is loaded into the editor (if the
first file is found, the second is ignored). The loading is performed
in the (edwin) package with `edwin-syntax-table'. The result of
loading the file must be a Scheme procedure which accepts no
arguments; this procedure will be added to the buffer's
initializations, to be performed the next time the buffer is selected.
The procedure `standard-scheme-find-file-initialization' is useful in
this regard.
It should be straightforward to automatically generate these files
from the package-modeller.
* The binding for `describe-command' has been changed from `C-h d' to
`C-h f' for compatibility with Emacs.
* Under some circumstances, files in the user's home directory tree
will be displayed using the "~/" notation.
* Implement overlooked command `x-set-position'.
----------------------------------------------------------------------
* Change definition of `load-edwin-file' procedure to make it more
generally useful for loading files into the editor. Similar changes
to the `load-file' and `load-library' commands.
* Bullet-proof the evaluation environment and syntax-table code so
that they signal an editor-error if unable to be resolved to the
appropriate kind of object.
----------------------------------------------------------------------
* Cause a modeline-event to occur whenever a buffer's clipping is
changed.
* Change handling of `edwin-initialization' so that the code is run
inside the command-reader loop -- thus making sure that all of the
editor's dynamic-state is bound.
* Fix bug in command-reader: undo boundaries were not being marked
when they should have been.
* Change `kill-buffer' to pick a different replacement buffer for each
of its windows, if possible.
21 files changed: