[Openmcl-devel] Problems with the SLIME debugger

Marco Baringer mb at bese.it
Sat Jun 12 10:49:08 UTC 2004


Gary Byers <gb at clozure.com> writes:

> CCL::SIMPLE-RESTART isn't a function (it -is- the name of a type of
> restart), so if something's calling it as a function it's not too
> surprising that it's undefined.  If something's trying to call it as a
> function, there would probably have been undefined-function warnings
> during compilation; you might want to look at the *INFERIOR-LISP*
> buffer to see if it shows any evidence of this.

SLIME wraps the emacs repl in a with-simple-restart, attempting to
simulate that code results in this:

? (with-simple-restart (simple "Simple" 1) (error "FOO"))
> Error in process listener(1): FOO
> While executing: #<Anonymous Function #x6440F1E>
> Type :POP to abort.
Type :? for other options.
1 > (compute-restarts)
(#<RESTART ABORT #x3BF9BE> #<RESTART ABORT-BREAK #x3BF9E6> #<RESTART SIMPLE #x3BFB7E> #<RESTART ABORT #x3BFCA6> #<RESTART ABORT-BREAK #x3BFCCE> #<RESTART ABORT-BREAK #x3BFE06> #<RESTART ABORT #x3BFE2E>)
1 > (describe (nth 2 *))
#<RESTART SIMPLE #x3BFB7E>
Type: RESTART
Class: #<BUILT-IN-CLASS RESTART>
TYPE: RESTART
%RESTART-NAME: SIMPLE
%RESTART-ACTION: CCL::SIMPLE-RESTART
%RESTART-REPORT: #<Anonymous Function #x64422A6>
%RESTART-INTERACTIVE: NIL
%RESTART-TEST: NIL
1 > :r
0. Return to break level 1.
1. #<RESTART ABORT-BREAK #x3BF9E6>
2. Simple
3. Return to toplevel.
4. #<RESTART ABORT-BREAK #x3BFCCE>
5. #<RESTART ABORT-BREAK #x3BFE06>
6. #<RESTART ABORT #x3BFE2E>
1 > (:c 2)
Invoking restart: Simple
> Error in process listener(1): Undefined function CCL::SIMPLE-RESTART called with arguments () .
> While executing: CCL::CHECK-TOPLEVEL-COMMAND
> Type :GO to continue, :POP to abort.
> If continued: Retry applying CCL::SIMPLE-RESTART to NIL.
Type :? for other options.
2 > :b
(F0135B40) : 0 "CCL::CHECK-TOPLEVEL-COMMAND" 248
(F0135B40) : 1 "CCL::READ-LOOP" 816
(F0135B80) : 2 NIL NIL
(F0135B90) : 3 "CCL::BREAK-LOOP" 1048
(F0135BC0) : 4 "CCL::BREAK-LOOP-HANDLE-ERROR" 644
(F0135BE0) : 5 NIL NIL
(F0135BF0) : 6 "CCL::%%STANDARD-COMBINED-METHOD-DCODE" 148
(F0135C00) : 7 NIL NIL
(F0135C10) : 8 "CCL::%ERROR" 104
(F0135C20) : 9 "Anonymous Function #x63FDE66" 196
(F0135C40) : 10 NIL NIL
(F0135C50) : 11 "CCL::TOPLEVEL-EVAL" 152
(F0135C60) : 12 "CCL::READ-LOOP" 844
(F0135CA0) : 13 "TOPLEVEL-LOOP" 44
(F0135CC0) : 14 "Anonymous Function #x60F8B36" 68
(F0135CD0) : 15 NIL NIL
(F0135CE0) : 16 "Anonymous Function #x613F64E" 592
(F0135D00) : 17 "CCL::RUN-PROCESS-INITIAL-FORM" 400
(F0135D30) : 18 NIL NIL
(F0135D40) : 19 "Anonymous Function #x6101D3E" 152
(F0135D60) : 20 "Anonymous Function #x60F491E" 172
2 > 

Comparing the expansion of restart-case with that of
with-simple-restart i think the problem is that the restart's action
is the symbol ccl::simple-restart (as opposed to nil like restart-case
does), but this is starting to get beyond my understanding of
openmcl's internals.

-- 
-Marco
Ring the bells that still can ring.
Forget your perfect offering.
There is a crack in everything.
That's how the light gets in.
     -Leonard Cohen



More information about the Openmcl-devel mailing list