From 1edfb17a586eedfbeb16a1e7fd240437cc1d4119 Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Thu, 20 Jun 2024 19:49:30 +0300 Subject: [PATCH] * 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) --- lisp/hi-lock.el | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) 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) -- 2.39.2