What i see here looks like a swank request which results in a lisp error signalled, does not cause entrance into the debugger in the context of that request, but rather causes a next request to be served, for some obscure reason.
the .emacs snippet i invoke looks like that:
(defun foo () (interactive) (slime-start :program "sbcl" :init-function (lambda () (cd "/some/where/") (slime-load-file "package.lisp") (slime-repl-set-package ":lispdb"))))
I.e, we're talking about two swank requests here -- load-file, and then, once that completes, repl-set-package.
when i run it, the following might or might not happen, due to circumstances i still did not have figured out:
(note that the error appearing in frame 11 is expected -- it is not that error which is the problem -- the problem is that swank silently skips processing that request, and goes on with the next one (which causes another error))
The assertion (PACKAGEP SWANK::P) failed. [Condition of type SIMPLE-ERROR]
Restarts: 0: [CONTINUE] Retry assertion. 1: [ABORT] Return to sldb level 1. 2: [ABORT] Return to SLIME's top level. 3: [ABORT] Exit debugger, returning to top level.
Backtrace: 0: (SB-KERNEL:ASSERT-ERROR (PACKAGEP SWANK::P) NIL NIL) 1: (SWANK:SET-PACKAGE ":lispdb") 2: (SB-INT:SIMPLE-EVAL-IN-LEXENV (SWANK:SET-PACKAGE ":lispdb") #<NULL-LEXENV>) 3: ((LAMBDA ())) 4: ((LAMBDA (SWANK-BACKEND::HOOK SWANK-BACKEND::FUN)) #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK> #<CLOSURE (LAMBDA #) {A6AD52D}>) 5: (SWANK::SLDB-LOOP 1) 6: (SWANK::CALL-WITH-BINDINGS ((*PRINT-PRETTY* . T) (*PRINT-LEVEL* . 4) (*PRINT-LENGTH* . 10) (*PRINT-CIRCLE* . T) (*PRINT-READABLY*) (*PRINT-PPRINT-DISPATCH* . #<SB-PRETTY:PPRINT-DISPATCH-TABLE {A7B9999}>) (*PRINT-GENSYM* . T) (*PRINT-BASE* . 10) (*PRINT-RADIX*) (*PRINT-ARRAY* . T) ...) #<FUNCTION (LAMBDA #) {ADFC5A5}>) 7: ((LAMBDA (SWANK-BACKEND::DEBUGGER-LOOP-FN)) #<FUNCTION (LAMBDA #) {ADFC555}>) 8: (SWANK::DEBUG-IN-EMACS #<SIMPLE-ERROR {B2EBAC9}>) 9: (INVOKE-DEBUGGER #<SIMPLE-ERROR {B2EBAC9}>) 10: (INVOKE-DEBUGGER #<SIMPLE-ERROR {B2EBAC9}>) 11: (ERROR "ASDF_ROOT is not set: where are the ASDF modules to be found?") 12: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ERROR "ASDF_ROOT is not set: where are the ASDF modules to be found?") #<NULL-LEXENV>) 13: (SB-INT:SIMPLE-EVAL-IN-LEXENV (PROGN NIL (ERROR "ASDF_ROOT is not set: where are the ASDF modules to be found?")) #<NULL-LEXENV>) 14: (SB-INT:SIMPLE-EVAL-IN-LEXENV (UNLESS *ASDFROOT* (ERROR "ASDF_ROOT is not set: where are the ASDF modules to be found?")) #<NULL-LEXENV>) 15: (SB-FASL::LOAD-AS-SOURCE #<SB-SYS:FD-STREAM for "file /home/deepfire/source/lispdb/package.lisp" {B2E98A1}> NIL NIL) 16: (SB-FASL::INTERNAL-LOAD #P"/home/deepfire/source/lispdb/package.lisp" #P"/home/deepfire/source/lispdb/package.lisp" :ERROR NIL NIL :SOURCE :DEFAULT) 17: (SB-FASL::INTERNAL-LOAD #P"/home/deepfire/source/lispdb/package.lisp" #P"/home/deepfire/source/lispdb/package.lisp" :ERROR NIL NIL NIL :DEFAULT) 18: (LOAD "/home/deepfire/source/lispdb/package.lisp") 19: (SWANK:LOAD-FILE "/home/deepfire/source/lispdb/package.lisp")
SLIME is about two weeks old, or so.
regards, Samium Gromoff