The "--noprogrammer" option to SBCL works by doing SETF on *DEBUG-IO*
and *DEBUGGER-HOOK*, so its effect persists across SAVE-LISP-AND-DIE.
People have reported several times that this is surprising, and
discussion on IRC points out that even after you get over the
surprise, it's inconvenient not to have a way to reverse the effect.
In particular, it would be nice to be able to build an interactive
core with the building operations running in --noprogrammer mode.
I'll probably make changes to address this next week. My tentative
plan is to make "--enable-debugger" and "--disable-debugger" be
shorthand for "--eval '(sb-ext:enable-debugger)'" and
"--eval '(sb-ext:disable-debugger)'", and to make the new
ENABLE-DEBUGGER and DISABLE-DEBUGGER functions be shorthand
for the appropriate SETFs of *DEBUG-IO* and *DEBUGGER-HOOK*. This
seems to me to capture (although with slightly different names for the
operations) the functionality suggested by Dan Barlow and Christophe
"--noprogrammer" would remain for a while as a deprecated synonym
Also some new language emphasizing how the --foo-debugger options have
an effect which is persistent across SAVE-LISP-AND-DIE should be added
to the man page and/or to the doc strings for the corresponding
Also, Dan Barlow points out that it would be nice to have something
similar to --noprogrammer which turns off LDB, since when a program
is running unattended, usually we want it to fail with an error
code instead of raising an "ldb>" prompt and waiting indefinitely
William Harold Newman <william.newman@...>
"Do the minimum necessary to declare victory, then get out!"
-- Tim Bray (among many others, I think)
PGP key fingerprint 85 CE 1C BA 79 8D 51 8C B9 25 FB EE E0 C3 E5 7C