[slime-devel] Re: SLIME can not compute backtrace in ECL

Helmut Eller heller at common-lisp.net
Wed Aug 27 17:24:31 UTC 2008


* Anton Vodonosov [2008-08-24 04:09+0200] writes:

> Hello.
>
> Test case: start slime with ECL and compute in the REPL bufer: (/ 1 0)
> Instead of showing SLDB buffer emacs reports:
>   error in process filter: Wrong number of arguments: nil, 0
>
> This happens because stack frames list in the :debug
> message received from swank is empty.
>
> Corresponding changes were committed at August 12, 2008.
> I do not know what the proper fix will be, but at least
> reverting EVAL-FOR-EMACS as in the diff attached makes
> the SLDB buffer with stack trace appearing.

The proper fix probably involves some adjustments
to swank-ecl.lisp:call-with-debugger-hook.
E.g. #+(or)-ing out the rebinding of *ihs-base* produces a
non-nil backtrace in ECL 0.9j.

Moving call-with-debugger-hook to eval-for-emacs would bind the hook
more often than necessary.  We only need to bind it at the top-level
and when we invoke the debugger (because the Lisp system sets
*debugger-hook* to nil before calling the hook).

Helmut.




More information about the slime-devel mailing list