ramb@sonic.net writes:
Is the limitation a function of slime or does it have to do with CMUCL or some other part? Not that I would be able to help but I wonder - if the limitation is in slime then maybe a clever lisp hacker would be able to make stepping work better.
A bit of both. The problem with multiple code locations at the same force location is a SLIME problem. There should be a command to explicitly step to the next source location ala "next-line" in gdb.
The other problems are basically also present in CMUCL's default stepper. The problem with unwind-protect sounds like a bug CMUCL's breakpoint machinery, but could be hard to fix.
A command to continue stepping in a called function needs a way to figure out which function is actually called at the call site breakpoint. CMUCL has currently no such way, but the called function object is probably accessible in some (not-so-)well known register.
The CMUCL internals manual also mentions somewhere that it should be possible to step backward. That would be cool, but I'm not sure if they were serious; they also write that "steppers are for weenies". :-)
Helmut.