[slime-devel] Backtrace verbosity

I've been using Slime for a couple of days now, and it seems really spiffy and snappy. Things generally just are much faster and easier than in ILISP, which I used before. The backtrace doesn't feel quite right, though: Backtrace: 0: SWANK::DEBUG-IN-EMACS (#<DIVISION-BY-ZERO 506820FC>) 1: SWANK:SWANK-DEBUGGER-HOOK (#<DIVISION-BY-ZERO 506820FC> :DONT-KNOW) 2: DBG::DEBUG1 (NIL #<DIVISION-BY-ZERO 506820FC> NIL NIL) 3: INVOKE-DEBUGGER (NIL (#<DIVISION-BY-ZERO 506820FC>)) 4: CONDITIONS::CONDITIONS-ERROR (:INVISIBLEP T DIVISION-BY-ZERO (:OPERATION / :OPERANDS (1 0))) 5: SYSTEM::DIVISION-BY-ZERO-ERROR (/ 1 0) 6: / (NIL NIL NIL) 7: SPECIAL::%EVAL-NOHOOK ((/ 1 0)) 8: IV:PROCESS-TOP-LEVEL (DSPEC:*CURRENT-FORM* #S(LEXICAL::ENVIRONMENT LEXICAL::VARIABLES NIL LEXICAL::FUNCTIONS NIL LEXICAL::REMOTE-ENVIRONMENT NIL) #<function LEXICAL:EVAL-WITH-ENV 502BFB7A> NIL :EXECUTE) 9: SWANK::EVAL-REGION ("(/ 1 0) " NIL T) 10: SWANK::REPL-EVAL ("(/ 1 0) ") 11: SWANK:LISTENER-EVAL ("(/ 1 0) ") (This is from evaluating (/ 1 0).) Point is placed on frame zero, which means that the real error is five lines below, and I find it annoying that I have to search visually down to it to get to it. So I'd either suggest that frames 0-4 are hidden by default, or that (at least) the point is placed on line 5. -- (domestic pets only, the antidote for overdose, milk.) larsi@gnus.org * Lars Magne Ingebrigtsen

Lars Magne Ingebrigtsen <larsi@gnus.org> writes:
Point is placed on frame zero, which means that the real error is five lines below, and I find it annoying that I have to search visually down to it to get to it. So I'd either suggest that frames 0-4 are hidden by default, or that (at least) the point is placed on line 5.
I added a find-top-frame function which skips all frames down to the frame for invoke-debugger. This is frame 4 in your example. It is a bit difficult to find the actual error frame, because we can be called by an error like division-by-zero, by BREAK, or by INVOKE-DEBUGGER. Feel free to invent a better heuristic. Helmut.

Helmut Eller <e9626484@stud3.tuwien.ac.at> writes:
I added a find-top-frame function which skips all frames down to the frame for invoke-debugger. This is frame 4 in your example.
Great! Makes it much easier to see what the problem is... -- (domestic pets only, the antidote for overdose, milk.) larsi@gnus.org * Lars Magne Ingebrigtsen
participants (2)
-
Helmut Eller
-
Lars Magne Ingebrigtsen