]> git.eshelyaron.com Git - emacs.git/commitdiff
diff-mode: Optimize source language syntax highlighting
authorDmitry Gutov <dmitry@gutov.dev>
Mon, 17 Jun 2024 19:51:23 +0000 (22:51 +0300)
committerEshel Yaron <me@eshelyaron.com>
Wed, 19 Jun 2024 08:42:05 +0000 (10:42 +0200)
* lisp/vc/diff-mode.el (diff--get-revision-properties):
Never pass FILE to 'diff-syntax-fontify-props'; assume that
'vc-find-revision-no-save' has called the major mode function
already (bug#71604).

(cherry picked from commit f7953a0eef4bf6505352c199a2f8ae8f3563fdfa)

lisp/vc/diff-mode.el

index 5e74bc381ba94c80b3d38794263edb6f85cf91ee..f1193885d6e5606d42eebc95d7809685e21a4897 100644 (file)
@@ -2894,9 +2894,6 @@ and the position in MAX."
          (buffer (cdr entry)))
     (if (buffer-live-p buffer)
         (progn
-          ;; Don't re-initialize the buffer (which would throw
-          ;; away the previous fontification work).
-          (setq file nil)
           (setq diff--cached-revision-buffers
                 (cons entry
                       (delq entry diff--cached-revision-buffers))))
@@ -2916,7 +2913,8 @@ and the position in MAX."
     (diff--cache-schedule-clean)
     (and buffer
          (with-current-buffer buffer
-           (diff-syntax-fontify-props file text line-nb)))))
+           ;; Major mode is set in vc-find-revision-no-save already.
+           (diff-syntax-fontify-props nil text line-nb)))))
 
 (defun diff-syntax-fontify-hunk (beg end old)
   "Highlight source language syntax in diff hunk between BEG and END.