bug#2966: 23.0.92; A typing error in debugger-eval-expression stops the debugger
Daniel Clemente <[email protected]>
| Newsgroups | gmane.emacs.bugs,gmane.emacs.pretest.bugs |
|---|---|
| Message-ID | <[email protected]> |
Eval anything with (debug) on it, like: (let* ((x 3) (y 1)) (debug) (dotimes (a x) (setq y (* y x))) y ) When the debugger appears, press e to evaluate some symbol. You can type x RET to see the value of x. But now try a symbol which doesn't exist, for instance z. You get: Debugger entered--Lisp error: (void-variable z) eval(z) eval-expression(z) debugger-eval-expression(z) call-interactively(debugger-eval-expression nil nil) recursive-edit() And at this point, your debugger session is (apparently) lost and you can't continue debugging your program: e.g. "c" doesn't work and it only says (error "Cannot return from the debugger in an error") It is very annoying that Emacs makes you restart debugging just because you did a typing error in a very infortunate moment. Even if there is some way to get out of this „error inside the evaluated expression“, the default behaviour is shocking. Can't errors like void-variable / void-function be ignored by default in debugger-mode? -- Daniel