slime seems to cut off the condition report after the third line:
CL-USER> (error "foo~%~%~%bar")
in *slime-events*:
(:debug 1 "foo\n\n\nbar\n [Condition of type SIMPLE-ERROR]" (("ABORT" "Reduce debugger level (leaving debugger, returning to toplevel).") ("TOPLEVEL" "Restart at toplevel READ/EVAL/PRINT loop.")) ((0 "0: (SB-INT:EVAL-IN-LEXENV 2 (ERROR "foo~%~%~%bar") #S(SB-KERNEL:LEXENV :FUNS NIL :VARS NIL :BLOCKS NIL :TAGS NIL :TYPE-RESTRICTIONS NIL :LAMBDA NIL :CLEANUP NIL :POLICY ((SPEED . 1) (SPACE . 1) (SAFETY . 1) (INHIBIT-WARNINGS . 1) (DEBUG . 1) (COMPILATION-SPEED . 1))))[:EXTERNAL]") (1 "1: ("hairy arg processor for SWANK::EVAL-REGION" "(error \"foo~%~%~%bar\")" T)") (2 "2: (SWANK:LISTENER-EVAL "(error \"foo~%~%~%bar\")")") (3 "3: (SB-INT:EVAL-IN-LEXENV 2 (SWANK:LISTENER-EVAL "(error \"foo~%~%~%bar\")") #S(SB-KERNEL:LEXENV :FUNS NIL :VARS NIL :BLOCKS NIL :TAGS NIL :TYPE-RESTRICTIONS NIL :LAMBDA NIL :CLEANUP NIL :POLICY ((SPEED . 1) (SPACE . 1) (SAFETY . 1) (INHIBIT-WARNINGS . 1) (DEBUG . 1) (COMPILATION-SPEED . 1))))[:EXTERNAL]") (4 "4: (SWANK:EVAL-STRING "(swank:listener-eval \"(error \\\"foo~%~%~%bar\\\")\")" "CL-USER")") (5 "5: (SWANK::CALL-WITH-SLIME-STREAMS #<SWANK::SLIME-INPUT-STREAM {48122D11}> #<FILE-STREAM for "a constant string" {480D94B1}> #<TWO-WAY-STREAM :INPUT-STREAM #<SWANK::SLIME-INPUT-STREAM {48122D11}> :OUTPUT-STREAM #<FILE-STREAM for "a constant string" {480D94B1}>> #<FUNCTION "top level local call FUNCALL" {105E073D}> (SWANK:EVAL-STRING "(swank:listener-eval \"(error \\\"foo~%~%~%bar\\\")\")" "CL-USER"))") (6 "6: (SWANK::READ-FROM-EMACS)") (7 "7: (SWANK::SERVE-REQUEST #<FILE-STREAM for "a constant string" {480D7AF9}> #<FILE-STREAM for "a constant string" {480D94B1}> #<SWANK::SLIME-INPUT-STREAM {48122D11}> #<TWO-WAY-STREAM :INPUT-STREAM #<SWANK::SLIME-INPUT-STREAM {48122D11}> :OUTPUT-STREAM #<FILE-STREAM for "a constant string" {480D94B1}>>)") (8 "8: ("#'(LAMBDA (SWANK::FD) (DECLARE #) ...)" #<unused argument>)") (9 "9: (SB-IMPL::SUB-SERVE-EVENT 2 NIL 0)[:EXTERNAL]") (10 "10: ("hairy arg processor for top level local call SB!SYS:WAIT-UNTIL-FD-USABLE" 0 :INPUT NIL)") (11 "11: (SB-IMPL::FROB-INPUT 1 #<FILE-STREAM for "standard input" {48003441}>)[:EXTERNAL]") (12 "12: (SB-IMPL::INPUT-CHARACTER 3 #<FILE-STREAM for "standard input" {48003441}> NIL :EOF)[:EXTERNAL]") (13 "13: ("hairy arg processor for top level local call READ-CHAR" #<FILE-STREAM for "standard input" {48003441}> NIL :EOF #<unused argument>)") (14 "14: ("hairy arg processor for top level local call PEEK-CHAR" NIL #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {30029079}> NIL :EOF #<unused argument>)") (15 "15: ("hairy arg processor for SB-ACLREPL::PEEK-CHAR-NON-WHITESPACE" #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {30029079}>)") (16 "16: (SB-ACLREPL::READ-CMD #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {30029079}>)") (17 "17: (SB-ACLREPL::REPL-READ-FORM-FUN #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {30029079}> #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDOUT* {30029169}>)") (18 "18: (SB-ACLREPL::REP-ONE)") (19 "19: ("varargs entry for SB-ACLREPL::REPL" :BREAK-LEVEL 0 :NOPRINT NIL :INSPECT NIL :CONTINUABLE NIL)"))) (activate) ; slime-debugging-state
in the condition output:
foo
Restarts: 0: [ABORT] Reduce debugger level (leaving debugger, returning to toplevel). 1: [TOPLEVEL] Restart at toplevel READ/EVAL/PRINT loop.
Backtrace: 0: (SB-INT:EVAL-IN-LEXENV 2 (ERROR "foo~%~%~%bar") #S(SB-KERNEL:LEXENV :FUNS NIL :VARS NIL :BLOCKS NIL :TAGS NIL :TYPE-RESTRICTIONS NIL :LAMBDA NIL :CLEANUP NIL :POLICY ((SPEED . 1) (SPACE . 1) (SAFETY . 1) (INHIBIT-WARNINGS . 1) (DEBUG . 1) (COMPILATION-SPEED . 1))))[:EXTERNAL] 1: ("hairy arg processor for SWANK::EVAL-REGION" "(error "foo~%~%~%bar")" T)
Hm, this looks slightly strange to me. I would like to see the full condition report output (I have some conditions that dump a terminal screen from the condition report) (-:
Thanks,
Andreas Fuchs asf@boinkor.net writes:
Hm, this looks slightly strange to me. I would like to see the full condition report output (I have some conditions that dump a terminal screen from the condition report) (-:
Should be fixed now. The bug was caused by some bad regexp. I replaced the regexp with more structured data.
Thanks for reporting the bug.
Helmut.