From: Juri Linkov Date: Thu, 20 Jun 2024 16:49:30 +0000 (+0300) Subject: * lisp/hi-lock.el (hi-lock-revert-buffer-rehighlight): Restore same faces. X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=1edfb17a586eedfbeb16a1e7fd240437cc1d4119;p=emacs.git * lisp/hi-lock.el (hi-lock-revert-buffer-rehighlight): Restore same faces. After reverting the buffer apply all previous patterns with exactly the same faces as were assigned to patterns before. (cherry picked from commit a6296fda5ee4d54902f23028948643e1ac0de320) --- diff --git a/lisp/hi-lock.el b/lisp/hi-lock.el index 3c26cc84509..64b84cdf859 100644 --- a/lisp/hi-lock.el +++ b/lisp/hi-lock.el @@ -868,11 +868,10 @@ SPACES-REGEXP is a regexp to substitute spaces in font-lock search." Apply the previous patterns after reverting the buffer." (when-let ((patterns hi-lock-interactive-lighters)) (lambda () - (setq hi-lock-interactive-lighters nil - hi-lock-interactive-patterns nil) - (let ((hi-lock-auto-select-face t)) - (dolist (pattern (reverse patterns)) - (highlight-regexp (car pattern) (hi-lock-read-face-name))))))) + (when hi-lock-interactive-lighters + (hi-lock-unface-buffer t)) + (dolist (pattern (reverse patterns)) + (highlight-regexp (car pattern) (cadr (nth 1 (caddr pattern)))))))) (defvar hi-lock--hashcons-hash (make-hash-table :test 'equal :weakness t)