mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-15 17:00:26 +00:00
Ignore file-missing errors during diff-refined font-locking
* lisp/vc/diff-mode.el (diff--font-lock-refined): Ignore file-missing errors (bug#49197).
This commit is contained in:
parent
f85ee6d5c7
commit
ed30a7290c
@ -2265,17 +2265,20 @@ Call FUN with two args (BEG and END) for each hunk."
|
||||
;; same hunk.
|
||||
(goto-char (next-single-char-property-change
|
||||
(point) 'diff--font-lock-refined nil max)))
|
||||
(diff--iterate-hunks
|
||||
max
|
||||
(lambda (beg end)
|
||||
(unless (get-char-property beg 'diff--font-lock-refined)
|
||||
(diff--refine-hunk beg end)
|
||||
(let ((ol (make-overlay beg end)))
|
||||
(overlay-put ol 'diff--font-lock-refined t)
|
||||
(overlay-put ol 'diff-mode 'fine)
|
||||
(overlay-put ol 'evaporate t)
|
||||
(overlay-put ol 'modification-hooks
|
||||
'(diff--overlay-auto-delete))))))))
|
||||
;; Ignore errors that diff cannot be found so that custom font-lock
|
||||
;; keywords after `diff--font-lock-refined' can still be evaluated.
|
||||
(ignore-error file-missing
|
||||
(diff--iterate-hunks
|
||||
max
|
||||
(lambda (beg end)
|
||||
(unless (get-char-property beg 'diff--font-lock-refined)
|
||||
(diff--refine-hunk beg end)
|
||||
(let ((ol (make-overlay beg end)))
|
||||
(overlay-put ol 'diff--font-lock-refined t)
|
||||
(overlay-put ol 'diff-mode 'fine)
|
||||
(overlay-put ol 'evaporate t)
|
||||
(overlay-put ol 'modification-hooks
|
||||
'(diff--overlay-auto-delete)))))))))
|
||||
|
||||
(defun diff--overlay-auto-delete (ol _after _beg _end &optional _len)
|
||||
(delete-overlay ol))
|
||||
|
Loading…
Reference in New Issue
Block a user