From: Alan Mackenzie <acm@muc.de>
To: Eli Zaretskii <eliz@gnu.org>
Cc: larsi@gnus.org, 40992@debbugs.gnu.org,
Noam Postavsky <npostavs@gmail.com>,
phillip.lord@russet.org.uk
Subject: bug#40992: 27.0.90; Evaluating a function while using edebug breaks
Date: Sat, 2 May 2020 13:34:47 +0000 [thread overview]
Message-ID: <20200502133447.GC6832@ACM> (raw)
In-Reply-To: <83wo5uu81f.fsf@gnu.org>
Hello, Eli.
On Sat, May 02, 2020 at 10:10:04 +0300, Eli Zaretskii wrote:
> > From: Noam Postavsky <npostavs@gmail.com>
> > Date: Fri, 01 May 2020 23:05:32 -0400
> > Cc: Alan Mackenzie <acm@muc.de>, 40992@debbugs.gnu.org,
> > Phillip Lord <phillip.lord@russet.org.uk>
> > > I think that sounds like a good solution on master, but the patch that
> > > introduced this should probably be reverted on emacs-27 -- it wasn't a
> > > bug fix, but a new feature, so reverting it should be safe, I think.
> > I don't understand; the fix looks trivial to me (leaving out
> > indentation), and only touches a new function. Surely this is okay for
> > emacs-27?
> If this fixes the problem, it's okay for emacs-27. But then why did
> Alan say there was no easy solution?
I think I said "good" rather than "easy". This 'edebug property is
essentially associated with a function, but is in a symbol's property
list.
Noam's fix, I think, will either leave stale highlights on what used to
be breakpoints, or won't leave the highlights active whilst the
debugging is still in progress. It might be the least bad fix, though.
At the time of debugging, there are _two_ functions associated with
`hanoi', the one just compiled with C-M-x, and the instrumented one
still being debugged (which will soon find its way to the garbage
collector).
There is no way to attach a property list to a function (and it's too
late to add one for Emacs 27 ;-), so prop 'edebug gets on the symbol's
plist, and confusion results. Hence this bug.
A good solution would fix this confusion. I can't think of a way to do
this which doesn't involve deep surgery on Emacs's internals.
I think the same mechanism is behind the annoying bug (not yet reported
by me) where you do M-x compile-defun on a previously instrumented
function, then try to instrument it again by typing I
(`edebug-instrument-callee') whilst in Edebug. You get the spurious
error message "Already instrumented".
--
Alan Mackenzie (Nuremberg, Germany).
next prev parent reply other threads:[~2020-05-02 13:34 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-01 8:26 bug#40992: 27.0.90; Evaluating a function while using edebug breaks Phillip Lord
2020-05-01 15:56 ` Alan Mackenzie
2020-05-01 17:33 ` Alan Mackenzie
2020-05-01 18:02 ` Eli Zaretskii
2020-05-02 1:43 ` Lars Ingebrigtsen
2020-05-02 3:05 ` Noam Postavsky
2020-05-02 7:10 ` Eli Zaretskii
2020-05-02 13:34 ` Alan Mackenzie [this message]
2020-05-02 13:57 ` Eli Zaretskii
2020-05-03 11:55 ` Alan Mackenzie
2020-05-03 12:13 ` Alan Mackenzie
2020-05-02 21:54 ` Phillip Lord
2020-05-11 20:16 ` Alan Mackenzie
2020-05-02 13:14 ` Alan Mackenzie
2020-05-04 1:27 ` Pouar Dragon
2020-05-04 18:34 ` Alan Mackenzie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200502133447.GC6832@ACM \
--to=acm@muc.de \
--cc=40992@debbugs.gnu.org \
--cc=eliz@gnu.org \
--cc=larsi@gnus.org \
--cc=npostavs@gmail.com \
--cc=phillip.lord@russet.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).