* Major rewrite of `debug' and `where' to allow their code to be used
authorChris Hanson <org/chris-hanson/cph>
Mon, 7 Aug 1989 07:37:09 +0000 (07:37 +0000)
committerChris Hanson <org/chris-hanson/cph>
Mon, 7 Aug 1989 07:37:09 +0000 (07:37 +0000)
commitae9dc3a90af4164cbc82d672e77dd6154ecd29af
treee3e0f1648bc2d719ed093f3f5831d9d97266dd83
parent2a3b2fdde4b3d24d2ddaa364f0fd783281fdfb2d
* 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:
v7/src/runtime/dbgcmd.scm
v7/src/runtime/dbgutl.scm
v7/src/runtime/debug.scm
v7/src/runtime/emacs.scm
v7/src/runtime/global.scm
v7/src/runtime/make.scm
v7/src/runtime/packag.scm
v7/src/runtime/pp.scm
v7/src/runtime/rep.scm
v7/src/runtime/runtime.pkg
v7/src/runtime/system.scm
v7/src/runtime/version.scm
v7/src/runtime/where.scm
v8/src/runtime/dbgutl.scm
v8/src/runtime/global.scm
v8/src/runtime/make.scm
v8/src/runtime/runtime.pkg