Commit c58059f2 authored by David Koppelman's avatar David Koppelman Committed by Chong Yidong
Browse files

Fix hi-lock-mode interactions with font-lock.

* hi-lock.el (hi-lock-font-lock-hook): Check font-lock-fontified
instead of font-lock-mode before adding keywords. Removed
hi-lock-mode off code. Removed inhibit hack.
(hi-lock-set-pattern): Only add keywords if font-lock-fontified
non-nil; removed hook inhibit hack.
parent d15f9a2b
2010-10-05 David Koppelman <koppel@ece.lsu.edu>
* hi-lock.el (hi-lock-font-lock-hook): Check font-lock-fontified
instead of font-lock-mode before adding keywords. Removed
hi-lock-mode off code. Removed inhibit hack.
(hi-lock-set-pattern): Only add keywords if font-lock-fontified
non-nil; removed hook inhibit hack.
2010-10-09 Glenn Morris <rgm@gnu.org>
* emacs-lisp/shadow.el (find-emacs-lisp-shadows): Rename it...
......
......@@ -564,23 +564,15 @@ not suitable."
'face-name-history
(cdr hi-lock-face-defaults))))
(defvar hi-lock--inhibit-font-lock-hook nil
"Inhibit the action of `hi-lock-font-lock-hook'.
This is used by `hi-lock-set-pattern'.")
(defun hi-lock-set-pattern (regexp face)
"Highlight REGEXP with face FACE."
(let ((pattern (list regexp (list 0 (list 'quote face) t)))
;; The call to `font-lock-add-keywords' below might disable
;; and re-enable font-lock mode. If so, we don't want
;; `hi-lock-font-lock-hook' to run. This can be removed once
;; Bug#635 is fixed. -- cyd
(hi-lock--inhibit-font-lock-hook t))
(let ((pattern (list regexp (list 0 (list 'quote face) t))))
(unless (member pattern hi-lock-interactive-patterns)
(font-lock-add-keywords nil (list pattern) t)
(push pattern hi-lock-interactive-patterns)
(if font-lock-fontified
(font-lock-fontify-buffer)
(progn
(font-lock-add-keywords nil (list pattern) t)
(font-lock-fontify-buffer))
(let* ((serial (hi-lock-string-serialize regexp))
(range-min (- (point) (/ hi-lock-highlight-range 2)))
(range-max (+ (point) (/ hi-lock-highlight-range 2)))
......@@ -641,12 +633,9 @@ This is used by `hi-lock-set-pattern'.")
(defun hi-lock-font-lock-hook ()
"Add hi-lock patterns to font-lock's."
(unless hi-lock--inhibit-font-lock-hook
(if font-lock-mode
(progn
(font-lock-add-keywords nil hi-lock-file-patterns t)
(font-lock-add-keywords nil hi-lock-interactive-patterns t))
(hi-lock-mode -1))))
(when font-lock-fontified
(font-lock-add-keywords nil hi-lock-file-patterns t)
(font-lock-add-keywords nil hi-lock-interactive-patterns t)))
(defvar hi-lock-string-serialize-hash
(make-hash-table :test 'equal)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment