GNU bug report logs -
#40992
27.0.90; Evaluating a function while using edebug breaks
Previous Next
Full log
Message #20 received at 40992 <at> debbugs.gnu.org (full text, mbox):
Lars Ingebrigtsen <larsi <at> gnus.org> writes:
> Alan Mackenzie <acm <at> muc.de> writes:
>
>> There doesn't appear to be a good way of solving this bug. A workable
>> workaround would be to check that the 'edebug property value is a list
>> in edebug--overlay-breakpoints, and just to remove the breakpoint
>> highlights when it's not a list. When it's not a list, it's a marker
>> pointing to the start of the function, from which the end of the
>> function can be found, to serve as the END argument to
>> edebug--overlay-breakpoints-remove.
>>
>> Or something like that. :-(
>
> 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?
--- i/lisp/emacs-lisp/edebug.el
+++ w/lisp/emacs-lisp/edebug.el
@@ -3236,8 +3236,9 @@ 'edebug-breakpoint
"\x3c\x7e\xff\xff\xff\xff\x7e\x3c")
(defun edebug--overlay-breakpoints (function)
- (let* ((data (get function 'edebug))
- (start (nth 0 data))
+ (let ((data (get function 'edebug)))
+ (when (listp data)
+ (let* ((start (nth 0 data))
(breakpoints (nth 1 data))
(offsets (nth 2 data)))
;; First remove all old breakpoint overlays.
@@ -3264,6 +3265,7 @@ edebug--overlay-breakpoints
(propertize
"x" 'display
`(left-fringe edebug-breakpoint ,face)))))))))
+ ))
(defun edebug--overlay-breakpoints-remove (start end)
(dolist (overlay (overlays-in start end))
This bug report was last modified 5 years and 7 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.