GNU bug report logs - #79222
[PATCH] Fix fringe test in 'diff--font-lock-prettify'

Previous Next

Package: emacs;

Reported by: john muhl <jm <at> pub.pink>

Date: Tue, 12 Aug 2025 05:05:02 UTC

Severity: normal

Tags: patch

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

To reply to this bug, email your comments to 79222 AT debbugs.gnu.org.
There is no need to reopen the bug first.

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

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


Report forwarded to monnier <at> iro.umontreal.ca, bug-gnu-emacs <at> gnu.org:
bug#79222; Package emacs. (Tue, 12 Aug 2025 05:05:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to john muhl <jm <at> pub.pink>:
New bug report received and forwarded. Copy sent to monnier <at> iro.umontreal.ca, bug-gnu-emacs <at> gnu.org. (Tue, 12 Aug 2025 05:05:02 GMT) Full text and rfc822 format available.

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

From: john muhl <jm <at> pub.pink>
To: bug-gnu-emacs <at> gnu.org
Subject: [PATCH] Fix fringe test in 'diff--font-lock-prettify'
Date: Tue, 12 Aug 2025 00:03:35 -0500
[Message part 1 (text/plain, inline)]
Tags: patch

With diff-font-lock-prettify enabled opening a diff (or having Gnus try
to render one, &c) in a tty frame causes an error since 'left-fringe is
nil in that case.

  emacs -Q -nw -eval "(setopt diff-font-lock-prettify t)" some.diff

[0001-Fix-fringe-width-test-in-diff-font-lock-prettify.patch (text/patch, attachment)]

Reply sent to Stefan Monnier <monnier <at> iro.umontreal.ca>:
You have taken responsibility. (Sat, 16 Aug 2025 09:03:02 GMT) Full text and rfc822 format available.

Notification sent to john muhl <jm <at> pub.pink>:
bug acknowledged by developer. (Sat, 16 Aug 2025 09:03:02 GMT) Full text and rfc822 format available.

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

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: john muhl <jm <at> pub.pink>
Cc: 79222-done <at> debbugs.gnu.org
Subject: Re: bug#79222: [PATCH] Fix fringe test in 'diff--font-lock-prettify'
Date: Sat, 16 Aug 2025 05:02:18 -0400
Thank John!

Pushed to `master`.
I added a comment about the "wasted" 4-element list that's constructed
by `window-fringes`, but not before having noticed that
`frame-parameter` was even worse.


        Stefan


john muhl [2025-08-12 00:03:35] wrote:
> With diff-font-lock-prettify enabled opening a diff (or having Gnus try
> to render one, &c) in a tty frame causes an error since 'left-fringe is
> nil in that case.
>
>   emacs -Q -nw -eval "(setopt diff-font-lock-prettify t)" some.diff
>
> From 50314aaae7287b03754315a5ad7aa922c417cdb2 Mon Sep 17 00:00:00 2001
> From: john muhl <jm <at> pub.pink>
> Date: Mon, 11 Aug 2025 17:43:20 -0500
> Subject: [PATCH] Fix fringe width test in 'diff--font-lock-prettify'
>
> * lisp/vc/diff-mode.el (diff--font-lock-prettify):
> Use 'window-fringes' instead of the 'left-fringe' frame parameter
> since the former returns an integer on both GUI and TTY frames.
> ---
>  lisp/vc/diff-mode.el | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lisp/vc/diff-mode.el b/lisp/vc/diff-mode.el
> index 31a505f19be..df72cecb749 100644
> --- a/lisp/vc/diff-mode.el
> +++ b/lisp/vc/diff-mode.el
> @@ -2949,7 +2949,7 @@ 'diff-fringe-nul
>  
>  (defun diff--font-lock-prettify (limit)
>    (when diff-font-lock-prettify
> -    (when (> (frame-parameter nil 'left-fringe) 0)
> +    (when (> (car (window-fringes)) 0)
>        (save-excursion
>          ;; FIXME: Include the first space for context-style hunks!
>          (while (re-search-forward "^[-+! ]" limit t)





This bug report was last modified 21 days ago.

Previous Next


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