GNU bug report logs - #2966
23.0.92; A typing error in debugger-eval-expression stops the debugger

Previous Next

Package: emacs;

Reported by: dcl441-bugs <at> yahoo.com

Date: Sun, 12 Apr 2009 02:10:03 UTC

Severity: normal

Tags: fixed

Done: Lars Magne Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 2966 in the body.
You can then email your comments to 2966 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#2966; Package emacs. (Sun, 12 Apr 2009 02:10:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to dcl441-bugs <at> yahoo.com:
New bug report received and forwarded. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Sun, 12 Apr 2009 02:10:04 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Daniel Clemente <dcl441-bugs <at> yahoo.com>
To: emacs-pretest-bug <at> gnu.org
Subject: 23.0.92; A typing error in debugger-eval-expression stops the debugger
Date: Sat, 11 Apr 2009 19:01:47 -0700 (PDT)
  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








Tags added: notabug, wontfix Request was from Chong Yidong <cyd <at> stupidchicken.com> to control <at> emacsbugs.donarmstrong.com. (Sun, 10 May 2009 22:05:06 GMT) Full text and rfc822 format available.

Added tag(s) fixed. Request was from Lars Magne Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Fri, 16 Sep 2011 20:33:02 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 2966 <at> debbugs.gnu.org and dcl441-bugs <at> yahoo.com Request was from Lars Magne Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Fri, 16 Sep 2011 20:33:02 GMT) Full text and rfc822 format available.

Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#2966; Package emacs. (Fri, 16 Sep 2011 20:43:08 GMT) Full text and rfc822 format available.

Message #14 received at 2966 <at> debbugs.gnu.org (full text, mbox):

From: Lars Magne Ingebrigtsen <larsi <at> gnus.org>
To: dcl441-bugs <at> yahoo.com
Cc: 2966 <at> debbugs.gnu.org
Subject: Re: 23.0.92;
	A typing error in debugger-eval-expression stops the debugger
Date: Fri, 16 Sep 2011 22:24:32 +0200
Daniel Clemente <dcl441-bugs <at> yahoo.com> writes:

>   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")

This was marked as notabug wontfix, but it's apparently been fixed
anyway.  :-)

You now get a further bug and your environment isn't lost:

Debugger entered--Lisp error: (void-variable z)
  eval(z nil)
  eval-expression(z nil)
  call-interactively(eval-expression nil nil)
  recursive-edit()
  debug()
  eval((debug) nil)
  eval-expression((debug) nil)
  call-interactively(eval-expression nil nil)


-- 
(domestic pets only, the antidote for overdose, milk.)
  bloggy blog http://lars.ingebrigtsen.no/




Message #15 received at 2966-done <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Lars Magne Ingebrigtsen <larsi <at> gnus.org>
Cc: dcl441-bugs <at> yahoo.com, 2966-done <at> debbugs.gnu.org
Subject: Re: bug#2966: 23.0.92;
	A typing error in debugger-eval-expression stops the debugger
Date: Fri, 16 Sep 2011 16:57:18 -0400
>> 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")
> This was marked as notabug wontfix, but it's apparently been fixed
> anyway.  :-)

Indeed I fixed it a few months ago.


        Stefan




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 15 Oct 2011 11:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 13 years and 307 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.