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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.