GNU bug report logs -
#32474
27.0.50; Gnus doesn't highlight refined changes in diff attachments
Previous Next
Reported by: Juri Linkov <juri <at> linkov.net>
Date: Sun, 19 Aug 2018 21:50:02 UTC
Severity: minor
Tags: patch
Found in version 27.0.50
Done: Juri Linkov <juri <at> linkov.net>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#32474: 27.0.50; Gnus doesn't highlight refined changes in diff attachments
which was filed against the emacs package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 32474 <at> debbugs.gnu.org.
--
32474: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=32474
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
> Since refined changes in diff attachments are highlighted using overlays,
> they need special treatment to be copied together with text properties:
Done in eb5588db69.
[Message part 3 (message/rfc822, inline)]
[Message part 4 (text/plain, inline)]
Since refined changes in diff attachments are highlighted using overlays,
they need special treatment to be copied together with text properties:
[gnus-mm-view.1.patch (text/x-diff, inline)]
diff --git a/lisp/gnus/mm-view.el b/lisp/gnus/mm-view.el
index 50a927bce2..0b15f6b188 100644
--- a/lisp/gnus/mm-view.el
+++ b/lisp/gnus/mm-view.el
@@ -452,7 +452,7 @@ mm-display-inline-fontify
"Insert HANDLE inline fontifying with MODE.
If MODE is not set, try to find mode automatically."
(let ((charset (mail-content-type-get (mm-handle-type handle) 'charset))
- text coding-system)
+ text coding-system ovs)
(unless (eq charset 'gnus-decoded)
(mm-with-unibyte-buffer
(mm-insert-part handle)
@@ -498,10 +498,18 @@ mm-display-inline-fontify
(eq major-mode 'fundamental-mode))
(font-lock-ensure))))
(setq text (buffer-string))
+ (when (eq mode 'diff-mode)
+ (setq ovs (mapcar (lambda (ov) (list ov (overlay-start ov)
+ (overlay-end ov)))
+ (overlays-in (point-min) (point-max)))))
;; Set buffer unmodified to avoid confirmation when killing the
;; buffer.
(set-buffer-modified-p nil))
- (mm-insert-inline handle text)))
+ (let ((b (1- (point))))
+ (mm-insert-inline handle text)
+ (dolist (ov ovs)
+ (move-overlay (nth 0 ov) (+ (nth 1 ov) b)
+ (+ (nth 2 ov) b) (current-buffer))))))
;; Shouldn't these functions check whether the user even wants to use
;; font-lock? Also, it would be nice to change for the size of the
This bug report was last modified 6 years and 348 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.