One patch, one new file.
The stepper works in SBCL, and should be fairly self-explanatory. C-s to toggle stepping, c to step inwards and x to quit stepping but keep running. You need to compile with high debug quality.
One gotcha: Slime will only display the source correctly if you compile the entire file with C-c C-k.
The same works in CLISP, but only for uncompiled code, and you won't see your location. Fix the sldb view-source command, and it'll work.
OpenMCL and CMUCL appear to have broken step implementations; if these work for anyone, please contact me so I can write backends.
Finally, while working on this I had some ideas about improving other parts of Slime, and I've left commented-out code for this in at least one place.
When the debugger pops up, we might want to (a) skip "internal" frames such as break when positioning the cursor, and (b) attempt to view the source for the resulting frame automatically. There is very little work left to do this, but is it a good idea?
Also, the way the stepper currently works there are (at least in clisp) a couple of stepper-internal frames *between* those belonging to the user. Would filtering out those be okay?
On 8/31/05, Svein Ove Aas sveina@gmail.com wrote:
One patch, one new file.
The stepper works in SBCL, and should be fairly self-explanatory. C-s to toggle stepping, c to step inwards and x to quit stepping but keep running. You need to compile with high debug quality.
One gotcha: Slime will only display the source correctly if you compile the entire file with C-c C-k.
*snip*
Due to a few requests lately, I thought I should mention something: This code is obsolete.
It only ever really worked on SBCL, and even there not perfectly. I'm rewriting it as something that should work everywhere, but meanwhile any non-fatal bugs are going to go unfixed - sorry about that.
Oh, and the "s" key (activate-stepping) won't work. Use the restarts.