Fix computation of outline heading level for non-git diff

* lisp/vc/diff-mode.el (diff-setup-buffer-type): Compute outline heading level
using diff-hunk-header-re (bug#51809).
(diff--font-lock-prettify): Disable prettify in non-git diff.
This commit is contained in:
Matthias Meulien 2022-02-14 22:29:49 +01:00 committed by Juri Linkov
parent eb0680bd57
commit b299c04201

View file

@ -1596,8 +1596,8 @@ modified lines of the diff."
nil)))
(when (eq diff-buffer-type 'git)
(setq diff-outline-regexp
(concat "\\(^diff --git.*\n\\|" diff-hunk-header-re "\\)"))
(setq-local outline-level #'diff--outline-level))
(concat "\\(^diff --git.*\n\\|" diff-hunk-header-re "\\)")))
(setq-local outline-level #'diff--outline-level)
(setq-local outline-regexp diff-outline-regexp))
(defun diff-delete-if-empty ()
@ -2599,7 +2599,8 @@ fixed, visit it in a buffer."
nil nil 'center)
(defun diff--font-lock-prettify (limit)
(when diff-font-lock-prettify
(when (and diff-font-lock-prettify
(eq diff-buffer-type 'git))
(save-excursion
;; FIXME: Include the first space for context-style hunks!
(while (re-search-forward "^[-+! ]" limit t)