I am using SBCL and Slime on windows. When I make a mistake and Lisp goes to the debugger, the slime-repl often freezes Emacs. I will try to reproduce the error here:<br><br>; SLIME 2009-03-08<br>CL-USER> (* 3 4 5)<br>
60<br>CL-USER> (reco 3 4) ;; I made a mistake on purpose<br><br>This error sends me to the debugger. When I abort (or try to return to Slime, or whatever), Emacs freezes:<br><br>; SLIME 2009-03-08<br>CL-USER> (* 3 4 5)<br>
60<br>CL-USER> (reco 3 4) ;; I made a mistake on purpose<br><br>The minibuffer looks like this:<br><br>; pipelined request... (swank:listener-eval "3<br><br>The only thing that seems to work is Interrupt Lisp Process. BTW, here is the debugger loop:<br>
<br>The function RECO is undefined.<br> [Condition of type UNDEFINED-FUNCTION]<br><br>Restarts:<br> 0: [RETRY] Retry SLIME REPL evaluation request.<br> 1: [ABORT] Return to SLIME's top level.<br> 2: [ABORT] Abort<br>
3: [CLOSE-CONNECTION] Close SLIME connection<br> 4: [ABORT] Exit debugger, returning to top level.<br><br>Backtrace:<br> 0: ("bogus stack frame")<br> 1: (SB-INT:SIMPLE-EVAL-IN-LEXENV (RECO 3 4) #<NULL-LEXENV>)<br>
2: (SWANK::EVAL-REGION "(reco 3 4) ;; I made a mistake on purpose\n")<br> 3: ((LAMBDA ()))<br> 4: (SWANK::TRACK-PACKAGE #<CLOSURE (LAMBDA #) {23F5029D}>)<br> 5: (SWANK::CALL-WITH-RETRY-RESTART "Retry SLIME REPL evaluation request." #<CLOSURE (LAMBDA #) {23F5022D}>)<br>
6: (SWANK::CALL-WITH-BUFFER-SYNTAX NIL #<CLOSURE (LAMBDA #) {23F50215}>)<br> 7: (SWANK::REPL-EVAL "(reco 3 4) ;; I made a mistake on purpose\n")<br> 8: (SB-INT:SIMPLE-EVAL-IN-LEXENV (SWANK:LISTENER-EVAL "(reco 3 4) ;; I made a mistake on purpose\n") #<NULL-LEXENV>)<br>
9: (SWANK::EVAL-FOR-EMACS (SWANK:LISTENER-EVAL "(reco 3 4) ;; I made a mistake on purpose\n") "COMMON-LISP-USER" 20)<br> 10: (SWANK::PROCESS-REQUESTS T)<br> 11: ((LAMBDA ()))<br> 12: (SWANK::HANDLE-REQUESTS #<SWANK::CONNECTION {241CC519}> T)<br>
13: ((LAMBDA (SWANK-BACKEND::HOOK SWANK-BACKEND::FUN)) #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK> #<CLOSURE (LAMBDA #) {24236CED}>)<br> 14: (SWANK::CALL-WITH-BINDINGS NIL #<CLOSURE (LAMBDA #) {24236D05}>)<br>
15: (SWANK::CALL-WITH-CONNECTION #<SWANK::CONNECTION {241CC519}> #<CLOSURE (LAMBDA #) {24236CED}>)<br> 16: ((LAMBDA ()))<br> 17: ((LAMBDA ()))<br> 18: ((SB-PCL::FAST-METHOD STREAM-READ-CHAR (SWANK-BACKEND::SLIME-INPUT-STREAM)) #(2 NIL 3 NIL 1 NIL ...) #<unavailable argument> #<SWANK-BACKEND::SLIME-INPUT-STREAM {24235C91}>)<br>
19: (READ-CHAR #<SWANK-BACKEND::SLIME-INPUT-STREAM {24235C91}> T #:EOF-OBJECT #<unused argument>)<br> 20: (SB-IMPL::%READ-PRESERVING-WHITESPACE #<SWANK-BACKEND::SLIME-INPUT-STREAM {24235C91}> T NIL T)<br>
21: (SB-IMPL::%READ-PRESERVING-WHITESPACE #<SWANK-BACKEND::SLIME-INPUT-STREAM {24235C91}> T NIL NIL)<br> 22: (READ #<SWANK-BACKEND::SLIME-INPUT-STREAM {24235C91}> T NIL NIL)<br> 23: (SWANK::SIMPLE-REPL)<br> 24: ((LAMBDA ()))<br>
25: ((LAMBDA (SWANK-BACKEND::HANDLER FUNCTION)) #<FUNCTION (LAMBDA #) {23E05215}> #<CLOSURE (LAMBDA #) {241CC595}>)<br> 26: (SWANK::SIMPLE-SERVE-REQUESTS #<SWANK::CONNECTION {241CC519}>)<br> 27: (SWANK::SERVE-CONNECTION #<SB-BSD-SOCKETS:INET-SOCKET descriptor -1 {24158D89}> NIL NIL :ISO-8859-1)<br>
28: (SWANK::SETUP-SERVER 0 #<CLOSURE (LAMBDA #) {240E5FD5}> NIL NIL :ISO-8859-1)<br> 29: (SB-INT:SIMPLE-EVAL-IN-LEXENV (FUNCALL (READ-FROM-STRING "swank:start-server") "c:/DOCUME~1/User/CONFIG~1/Temp/slime.2900" :CODING-SYSTEM "iso-latin-1-unix") #<NULL-LEXENV>)<br>
30: (SB-INT:SIMPLE-EVAL-IN-LEXENV ..)<br> 31: (INTERACTIVE-EVAL ..)<br> 32: (SB-IMPL::REPL-FUN NIL)<br> 33: ((LAMBDA ()))<br> 34: (SB-IMPL::%WITH-REBOUND-IO-SYNTAX #<CLOSURE (LAMBDA #) {23B3910D}>)<br> 35: (SB-IMPL::TOPLEVEL-REPL NIL)<br>
36: (SB-IMPL::TOPLEVEL-INIT)<br> 37: ((LABELS SB-IMPL::RESTART-LISP))<br> 38: ("foreign function: #x412045")<br> 39: ("foreign function: #x40AEA8")<br><br><br>