GNU bug report logs - #23468
Feature request: highlight Edebug breakpoints

Previous Next

Package: emacs;

Reported by: Paul Pogonyshev <pogonyshev <at> gmail.com>

Date: Fri, 6 May 2016 17:12:02 UTC

Severity: wishlist

Tags: fixed

Fixed in version 27.1

Done: Lars 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 23468 in the body.
You can then email your comments to 23468 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-gnu-emacs <at> gnu.org:
bug#23468; Package emacs. (Fri, 06 May 2016 17:12:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Paul Pogonyshev <pogonyshev <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Fri, 06 May 2016 17:12:02 GMT) Full text and rfc822 format available.

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

From: Paul Pogonyshev <pogonyshev <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: Feature request: highlight Edebug breakpoints
Date: Fri, 6 May 2016 19:10:27 +0200
Problem: when you add a debug breakpoint it works, but gives you zero
indication where it is, until execution hits it.  This is inconvenient
and also a lack compared to pretty much any other visual debugger.

Breakpoints in Elisp buffers should be highlighted with overlays
(e.g. different background color) and, probably, with a sign on the
window fringe.  It would also help to highlight conditional breakpoints
differently than unconditional ones.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#23468; Package emacs. (Sun, 20 Oct 2019 10:09:01 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Paul Pogonyshev <pogonyshev <at> gmail.com>
Cc: 23468 <at> debbugs.gnu.org
Subject: Re: bug#23468: Feature request: highlight Edebug breakpoints
Date: Sun, 20 Oct 2019 12:08:05 +0200
Paul Pogonyshev <pogonyshev <at> gmail.com> writes:

> Problem: when you add a debug breakpoint it works, but gives you zero
> indication where it is, until execution hits it.  This is inconvenient
> and also a lack compared to pretty much any other visual debugger.
>
> Breakpoints in Elisp buffers should be highlighted with overlays
> (e.g. different background color) and, probably, with a sign on the
> window fringe.  It would also help to highlight conditional breakpoints
> differently than unconditional ones.

I've now added highlights for the breakpoints in Emacs 27.

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




Added tag(s) fixed. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Sun, 20 Oct 2019 10:09:02 GMT) Full text and rfc822 format available.

bug marked as fixed in version 27.1, send any further explanations to 23468 <at> debbugs.gnu.org and Paul Pogonyshev <pogonyshev <at> gmail.com> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Sun, 20 Oct 2019 10:09:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#23468; Package emacs. (Sun, 20 Oct 2019 11:10:01 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 23468 <at> debbugs.gnu.org, pogonyshev <at> gmail.com
Subject: Re: bug#23468: Feature request: highlight Edebug breakpoints
Date: Sun, 20 Oct 2019 14:08:52 +0300
> From: Lars Ingebrigtsen <larsi <at> gnus.org>
> Date: Sun, 20 Oct 2019 12:08:05 +0200
> Cc: 23468 <at> debbugs.gnu.org
> 
> I've now added highlights for the breakpoints in Emacs 27.

Thanks, but why isn't this in NEWS and in the ELisp manual?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#23468; Package emacs. (Sun, 20 Oct 2019 11:13:02 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 23468 <at> debbugs.gnu.org, pogonyshev <at> gmail.com
Subject: Re: bug#23468: Feature request: highlight Edebug breakpoints
Date: Sun, 20 Oct 2019 13:12:43 +0200
Eli Zaretskii <eliz <at> gnu.org> writes:

>> I've now added highlights for the breakpoints in Emacs 27.
>
> Thanks, but why isn't this in NEWS and in the ELisp manual?

I didn't think it was NEWS-worthy (or documentation-worthy): It just
a visual signifier that should have been there all along.

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




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#23468; Package emacs. (Sun, 20 Oct 2019 11:49:02 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 23468 <at> debbugs.gnu.org, pogonyshev <at> gmail.com
Subject: Re: bug#23468: Feature request: highlight Edebug breakpoints
Date: Sun, 20 Oct 2019 14:47:54 +0300
> From: Lars Ingebrigtsen <larsi <at> gnus.org>
> Cc: pogonyshev <at> gmail.com,  23468 <at> debbugs.gnu.org
> Date: Sun, 20 Oct 2019 13:12:43 +0200
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> >> I've now added highlights for the breakpoints in Emacs 27.
> >
> > Thanks, but why isn't this in NEWS and in the ELisp manual?
> 
> I didn't think it was NEWS-worthy (or documentation-worthy): It just
> a visual signifier that should have been there all along.

I think it should be documented because it presents a visual artifact
that users will need to understand.

And now that I see it in action, I think its visual appearance could
be improved.  What I see is the opening parenthesis of the form
highlighted in the 'highlight' face.  I think we should use a distinct
face, so that it doesn't "disappear" if the user has hl-line mode
enabled and so that users could customize it independently, and also I
think an indication similar to GUD (on the fringe etc.) would be
better: more prominent and much more self-explanatory.

Thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#23468; Package emacs. (Sun, 20 Oct 2019 12:09:01 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 23468 <at> debbugs.gnu.org, pogonyshev <at> gmail.com
Subject: Re: bug#23468: Feature request: highlight Edebug breakpoints
Date: Sun, 20 Oct 2019 14:08:46 +0200
Eli Zaretskii <eliz <at> gnu.org> writes:

> And now that I see it in action, I think its visual appearance could
> be improved.  What I see is the opening parenthesis of the form
> highlighted in the 'highlight' face.  I think we should use a distinct
> face, so that it doesn't "disappear" if the user has hl-line mode
> enabled and so that users could customize it independently, and also I
> think an indication similar to GUD (on the fringe etc.) would be
> better: more prominent and much more self-explanatory.

OK, I've now added a new face, but defaulted to the highlight face,
because that seems to stand out to me.

As for a fringe indication -- there may be a bunch of breakpoints.  Do
we want to have something in the fringe for all of them?

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




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#23468; Package emacs. (Sun, 20 Oct 2019 12:50:01 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 23468 <at> debbugs.gnu.org, pogonyshev <at> gmail.com
Subject: Re: bug#23468: Feature request: highlight Edebug breakpoints
Date: Sun, 20 Oct 2019 15:48:57 +0300
> From: Lars Ingebrigtsen <larsi <at> gnus.org>
> Cc: pogonyshev <at> gmail.com,  23468 <at> debbugs.gnu.org
> Date: Sun, 20 Oct 2019 14:08:46 +0200
> 
> OK, I've now added a new face, but defaulted to the highlight face,
> because that seems to stand out to me.

Thanks.

> As for a fringe indication -- there may be a bunch of breakpoints.  Do
> we want to have something in the fringe for all of them?

GUD puts a bitmap on the fringe for each breakpoint, yes.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#23468; Package emacs. (Sun, 20 Oct 2019 17:19:02 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 23468 <at> debbugs.gnu.org, pogonyshev <at> gmail.com
Subject: Re: bug#23468: Feature request: highlight Edebug breakpoints
Date: Sun, 20 Oct 2019 19:18:11 +0200
Eli Zaretskii <eliz <at> gnu.org> writes:

>> As for a fringe indication -- there may be a bunch of breakpoints.  Do
>> we want to have something in the fringe for all of them?
>
> GUD puts a bitmap on the fringe for each breakpoint, yes.

Hm.  This is all pretty new to me...  but...
overlay-arrow-variable-list is a list of variables, each of which can
have one single position.

So to have more than a single fringe indication, we'd have to generate
one variable per breakpoint?

And you can't just put the positions into the list, either:

(setq overlay-arrow-variable-list
      (list (set-marker (make-marker) (point-min))
            (set-marker (make-marker) 100)))

Am I missing something, or does this mechanism just not support an
arbitrary number of fringe indicators?  (Well, without generating
variables dynamically, which I'm guessing we don't want to.)

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




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#23468; Package emacs. (Sun, 20 Oct 2019 19:07:02 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 23468 <at> debbugs.gnu.org, pogonyshev <at> gmail.com
Subject: Re: bug#23468: Feature request: highlight Edebug breakpoints
Date: Sun, 20 Oct 2019 22:06:43 +0300
> From: Lars Ingebrigtsen <larsi <at> gnus.org>
> Cc: pogonyshev <at> gmail.com,  23468 <at> debbugs.gnu.org
> Date: Sun, 20 Oct 2019 19:18:11 +0200
> 
> > GUD puts a bitmap on the fringe for each breakpoint, yes.
> 
> Hm.  This is all pretty new to me...  but...
> overlay-arrow-variable-list is a list of variables, each of which can
> have one single position.

No, that's not it.  Sorry, I've misled you: you need to look at
gdb-mi.el, where it puts on an overlay string a display property whose
value includes 'left-fringe.  See, e.g., gdb-put-string.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#23468; Package emacs. (Mon, 21 Oct 2019 20:30:02 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 23468 <at> debbugs.gnu.org, pogonyshev <at> gmail.com
Subject: Re: bug#23468: Feature request: highlight Edebug breakpoints
Date: Mon, 21 Oct 2019 22:29:27 +0200
Eli Zaretskii <eliz <at> gnu.org> writes:

> No, that's not it.  Sorry, I've misled you: you need to look at
> gdb-mi.el, where it puts on an overlay string a display property whose
> value includes 'left-fringe.  See, e.g., gdb-put-string.

Ah, I see.  I've never used fringe stuff before and how it interacts
with overlays isn't self-evident.  Perhaps there should be an example in
the manual?

By cargo-culting the code from gdb-mi, I get the following way to make
an overlay that's not hiding anything in the buffer, but just showing a
fringe bitmap:

 (let ((fringe (make-overlay pos pos)))
   (overlay-put fringe 'before-string
                (propertize "x" 'display `(left-fringe breakpoint ,face)))))))))


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




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#23468; Package emacs. (Tue, 22 Oct 2019 02:31:01 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 23468 <at> debbugs.gnu.org, pogonyshev <at> gmail.com
Subject: Re: bug#23468: Feature request: highlight Edebug breakpoints
Date: Tue, 22 Oct 2019 05:29:49 +0300
> From: Lars Ingebrigtsen <larsi <at> gnus.org>
> Cc: pogonyshev <at> gmail.com,  23468 <at> debbugs.gnu.org
> Date: Mon, 21 Oct 2019 22:29:27 +0200
> 
> By cargo-culting the code from gdb-mi, I get the following way to make
> an overlay that's not hiding anything in the buffer, but just showing a
> fringe bitmap:
> 
>  (let ((fringe (make-overlay pos pos)))
>    (overlay-put fringe 'before-string
>                 (propertize "x" 'display `(left-fringe breakpoint ,face)))))))))

Yes, that's it.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#23468; Package emacs. (Tue, 22 Oct 2019 14:22:01 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 23468 <at> debbugs.gnu.org, pogonyshev <at> gmail.com
Subject: Re: bug#23468: Feature request: highlight Edebug breakpoints
Date: Tue, 22 Oct 2019 16:21:29 +0200
Eli Zaretskii <eliz <at> gnu.org> writes:

>> By cargo-culting the code from gdb-mi, I get the following way to make
>> an overlay that's not hiding anything in the buffer, but just showing a
>> fringe bitmap:
>> 
>>  (let ((fringe (make-overlay pos pos)))
>>    (overlay-put fringe 'before-string
>>                 (propertize "x" 'display `(left-fringe breakpoint ,face)))))))))
>
> Yes, that's it.

I've now added an example along these lines to the manual.

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




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 20 Nov 2019 12:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 4 years and 130 days ago.

Previous Next


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