* Major overhaul of evaluation commands. Now the transcript buffer is
used more uniformly, and by default it is turned on. The name and
mode of the transcript buffer can be set by variables, which are
initially set to use "*scratch*" in scheme-interaction mode.
Appropriate hooks have been added to allow scheme-interaction to share
virtually all of the evaluation and transcript code with the rest of
the evaluation commands. The end result of all of these changes is
that the evaluation commands work much more like the Emacs/Scheme
interface.
New command `select-transcript-buffer' is bound to C-c C-s.
* Implement `mode-line-format'; see that variable's documentation for
details. Change "Info" to use it. Also implement associated
variables:
global-mode-string
mode-line-buffer-identification
mode-line-modified
mode-line-procedure
mode-line-process
* Rewrite the image code to allow the starting index and column to be
specified. This will be used later when horizontal scrolling is
implemented. Change name of `make-image' to `string->image'.
Implement new operations:
(string-head->image string start start-column)
(string-representation string start-column)
(substring-representation string start end start-column)
* Change `prompt-for-expression' and `prompt-for-expression-value' so
that #F is a valid default value. The default value argument is now
optional, and the only way to have no default is to call the
procedures without that argument.
* Implement `fresh-line' operations for output-ports to marks and to
the current point. Add new procedures to support them:
(fresh-line #!optional port)
(fresh-lines n #!optional port)
(mark->output-port mark #!optional buffer)
* Change `prompt-for-yes-or-no?' to erase the input if it is neither
"yes" or "no". This is now consistent with Emacs.
* Change command-history display to use new feature in runtime system
that unparses objects such that they can be read back in.
* Implement new procedures:
(scode-eval-with-history scode environment)
(string->temporary-buffer string name)
(current-buffer? buffer)
(->command object)
(->variable object)
(->mode object)
25 files changed: