* Major rewrite of `debug' and `where' to allow their code to be used
as a presentation mechanism for the editor. The basic new design has
these features:
** All commands now accept a state argument, which they manipulate,
allowing the entire debugger state to be passed around easily.
** All output from the commands is wrapped by the procedure
`presentation', which can be grabbed to control the presentation
characteristics. For example, the editor uses this hook to clear the
debugger buffer, change current-output-port to go to that buffer, and
then reset the modified flag after the presentation is complete.
** "Failure" conditions generated by the debugger are signalled
through the new procedure `debugger-failure', which can be grabbed.
The editor grabs this and binds it to `editor-failure'.
** Advisory messages generated by the debugger are signalled through
the new procedure `debugger-message', which can be grabbed. The
editor grabs this and binds it to `editor-message'.
* The contracts for `prompt-for-confirmation?' and
`prompt-for-expression' have been changed to make them compatible with
the editor's versions of these procedures.
* The package loader no longer offers the "load interpreted?" option.
This is controlled by a flag which can be set should this option be
desired. Similarly, the cold-loader no longer offers this option --
in that case you must move or delete the ".com" files to get an
interpreted cold-load.
* A new operation `pretty-print' is similar to `pp' except that it
doesn't print a prefix newline and it does nothing special about hash
numbers or named structures.
17 files changed: