bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#42300: Visual bug in diff-mode


From: Gregory Heytings
Subject: bug#42300: Visual bug in diff-mode
Date: Thu, 9 Jul 2020 21:23:36 +0200 (CEST)
User-agent: Alpine 2.21 (NEB 202 2017-01-01)


Diff-mode was updated in Emacs 27, and it is now possible to use the fringe to indicate whether the lines were added, deleted, or are common. The face is omitted in the display property in the case common lines, which leads to the bug described below.

Steps to reproduce:

1. start emacs -Q
2. (setq diff-font-lock-prettify t)
3. to make the bug clearly visible: (set-face-attribute 'fringe nil :background "red" 
:foreground "yellow")
4. open a diff file (with "common" lines, that is, lines starting with a space)
5. observe that the fringe in front of the common lines is red
6. press C-x C-+, the fringe in front of the common lines is now white
7. press -, the fringe in front of the common lines is now red again

Fix:

--- diff-mode.el.orig   2020-06-29 17:39:26.000000000 +0000
+++ diff-mode.el        2020-07-09 18:44:08.000000000 +0000
@@ -2518,7 +2518,7 @@
                                '((?+ . (left-fringe diff-fringe-add 
diff-indicator-added))
                                  (?- . (left-fringe diff-fringe-del 
diff-indicator-removed))
                                  (?! . (left-fringe diff-fringe-rep 
diff-indicator-changed))
-                                 (?\s . (left-fringe diff-fringe-nul))))))
+                                 (?\s . (left-fringe diff-fringe-nul 
fringe))))))
           (put-text-property (match-beginning 0) (match-end 0) 'display 
spec))))
     ;; Mimicks the output of Magit's diff.
     ;; FIXME: This has only been tested with Git's diff output.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]