Function: hi-lock-revert-buffer-rehighlight
hi-lock-revert-buffer-rehighlight is a byte-compiled function defined
in hi-lock.el.gz.
Signature
(hi-lock-revert-buffer-rehighlight)
Documentation
Rehighlight hi-lock patterns after revert-buffer.
Apply the previous patterns after reverting the buffer.
Source Code
;; Defined in /usr/src/emacs/lisp/hi-lock.el.gz
(defun hi-lock-revert-buffer-rehighlight ()
"Rehighlight hi-lock patterns after `revert-buffer'.
Apply the previous patterns after reverting the buffer."
(when (or hi-lock-interactive-lighters hi-lock-file-patterns)
(let ((patterns hi-lock-interactive-lighters)
(policy (if hi-lock-file-patterns 'always 'never))
rehighlight)
(lambda ()
;; When using revert-buffer without preserve-modes
(unless hi-lock-mode
;; Don't ask about file patterns again
(let ((hi-lock-file-patterns-policy policy))
(hi-lock-mode 1))
(setq rehighlight t))
;; When using hi-lock overlays, then need to update them
(unless (and font-lock-mode (font-lock-specified-p major-mode)
(not hi-lock-use-overlays))
(hi-lock-unface-buffer t)
(setq rehighlight t))
(when rehighlight
(setq hi-lock--unused-faces hi-lock-face-defaults)
(dolist (pattern (reverse patterns))
(let ((face (hi-lock-keyword->face (cdr pattern))))
(highlight-regexp (or (get-text-property 0 'regexp (car pattern))
(car pattern))
face)
(setq hi-lock--unused-faces
(remove (face-name face) hi-lock--unused-faces)))))))))