diff options
author | David Koppelman <koppel@ece.lsu.edu> | 2010-10-09 00:09:19 -0400 |
---|---|---|
committer | Chong Yidong <cyd@stupidchicken.com> | 2010-10-09 00:09:19 -0400 |
commit | c58059f23e10ebb3088986f1b310a80a603df20a (patch) | |
tree | 78ac4a7eddfed843e1f6f0996cff8f9842933ed4 | |
parent | d15f9a2b499f937d1e962c5dfcebb2024f82de86 (diff) | |
download | emacs-c58059f23e10ebb3088986f1b310a80a603df20a.tar.gz |
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.
-rw-r--r-- | lisp/ChangeLog | 8 | ||||
-rw-r--r-- | lisp/hi-lock.el | 25 |
2 files changed, 15 insertions, 18 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index cf32b040c44..59f5b55ec2a 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,11 @@ +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... diff --git a/lisp/hi-lock.el b/lisp/hi-lock.el index de4e2ff0dfd..0273de14edd 100644 --- a/lisp/hi-lock.el +++ b/lisp/hi-lock.el @@ -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) |