GNU bug report logs -
#42300
Visual bug in diff-mode
Previous Next
Reported by: Gregory Heytings <ghe <at> sdf.org>
Date: Thu, 9 Jul 2020 23:27:01 UTC
Severity: normal
Tags: confirmed, fixed, patch
Found in version 28.0.50
Fixed in version 28.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
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.
This bug report was last modified 4 years and 283 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.