* Ryan Taylor [2010-09-01 12:42] writes:
Tail calls do not seem to be the problem; the problem does not seem dependent on particular constructs, I have seen it happen in a variety of situations. Here is an example that does not work.
Source file breaktest.lisp: (declaim (optimize (debug 3))) (defun foo (bar) (print bar) (print bar) (break) (print bar)))
^ This seems superflous, but probably not the problem.
(defun foo-caller () (foo "hello") (print "caller"))
From the REPL, I do: CL-USER> (load "/home/ryan/breaktest.lisp") T CL-USER> (foo-caller)
When I try sbdl-show-source on foo-caller or foo in the call stack, I get the errors mentioned in my previous email.
I see some warnings and sldb-show-source brings me to the (declaim (optimize (debug 3))) form which is also pretty wrong.
When loading the fasl file (load (compile-file "...breaktest.lisp")) the debugger is not so confused.
The warning comes from swank-sbcl.lisp because the sb-di::code-location-toplevel-form-offset always returns 0 which seems like a SBCL bug.
Helmut