Just Launched: You can now import projects and releases from Google Code onto SourceForge
We are excited to release new functionality to enable a 1-click import from Google Code onto the Allura platform on SourceForge. You can import tickets, wikis, source, releases, and more with a few simple steps. Read More
As a newbie effort to explore sbcl, I'm trying my hand at the
following problem and would appreciate feedback. It's a first attempt
at sbcl modification, so please be patient with what is pretty much a
At present, when sbcl receives an interactive ^D, it either exits (if
at top-level) or signals an error (if in the debugger).
Clisp pops an interaction level if not in the middle of reading a form
(in which case it also signals an error), while cmucl always signals
an error. ILisp tries to cover this different functionality and
always pops a debugger level. Many Unix programs (awk, perl etc.)
exit the program on ^D. However, these programs don't have a nested
debugger, so they're a suspicious data point.
I've localised how to change the current debugger behaviour and have
experimented with a few alternatives, but would appreciate feedback on
the issue. Together with the usual suspects, I've come up with a list
of possible courses of action:
0 - do nothing. The debugger works as *I*, at least, expected it to
1 - repls should have consistent behaviour, so:
1.1 - c-d should exit sbcl in the debugger also
1.2 - really, when we press ^D we're returning to our invoker,
not exiting, so c-d should pop a debugger level
[ my personal preference ]
2 - C-d behaviour in debugger isn't clear; exiting sbcl may be too
drastic (error protection), but popping a level is just a
convention, not The Right Thing. On the other hand, no convincing
reason why we should continue to push debugger levels with each C-d,
so just skip the C-d's and remain at the same debugger level.
[ this one is okay ]
This is obviously down to personal taste and expectations based on
previous experience, so I'd appreciate any feedback on whatever
behaviour you prefer: just let me know and I'll give it a shot.