Subject: bug#12685: 24.2; lexical binding breaks edebug conditional breakpoints

From: Toby Cubitt <[email-masked]>
Date: Mon, 5 Aug 2013 16:14:46 +0100

Hi Stefan,

On Fri, Jul 26, 2013 at 12:09:05PM -0400, Stefan Monnier wrote:
> > Conditional breakpoints whose condition refers to a lexically-scoped
> > variable fail with a "Symbol's value as variable is void" error.
> > This is almost certainly caused by the same issue as
> > http://thread.gmane.org/gmane.emacs.devel/150556 
> 
> I've just installed a patch into trunk which should make Edebug properly
> use the lexical scope of the debugged code (when applicable).
> 
> Could you confirm it fixes this bug?

I just checked out and recompiled Emacs from bzr and tested. I'm still
seeing the same bug as before. Steps to reproduce:

1. Open the attached elisp file

2. Instrument `test' for edebug: "C-u C-M-x"

3. Evaluate `test': "M-: (test 3)"

4. Evaluate lexical variable from within edebug: "M-: arg <ret>"
-> backtrace buffer with "Debugger entered--Lisp error: (void-variable arg)"

3'. Create conditional breakpoint in `test': "C-x X x (null arg) <ret>"

4'. Evaluate `test': "M-: (test 3)"
-> message "Symbol's value as variable is void: arg"

Best,
Toby
-- 
Dr T. S. Cubitt
Royal Society University Research Fellow
Centre for Quantum Information and Foundations
DAMTP, University of Cambridge

email: [email-masked]
web:   www.dr-qubit.org