aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/hi-lock.el
diff options
context:
space:
mode:
authorChong Yidong <[email protected]>2005-11-25 05:32:56 +0000
committerChong Yidong <[email protected]>2005-11-25 05:32:56 +0000
commite4d5906679550237183db676a51bbc67a880ab81 (patch)
tree7fcc0f38425be443ac9fc555a577a318fe7042db /lisp/hi-lock.el
parent9cb4bb45035fd503fd0ea817c77c9ae345302104 (diff)
* hi-lock.el (hi-lock-buffer-mode): Turn on font-lock.
(hi-lock-unface-buffer, hi-lock-set-file-patterns): Call font-lock-fontify-buffer. (hi-lock-refontify): Deleted. (hi-lock-font-lock-hook): Turn off hi-lock when font lock is turned off.
Diffstat (limited to 'lisp/hi-lock.el')
-rw-r--r--lisp/hi-lock.el37
1 files changed, 18 insertions, 19 deletions
diff --git a/lisp/hi-lock.el b/lisp/hi-lock.el
index 91c654b86e..aa40ad2ae5 100644
--- a/lisp/hi-lock.el
+++ b/lisp/hi-lock.el
@@ -286,18 +286,22 @@ is found. A mode is excluded if it's in the list `hi-lock-exclude-modes'."
(if hi-lock-buffer-mode
;; Turned on.
(progn
+ (unless font-lock-mode (font-lock-mode 1))
(define-key-after menu-bar-edit-menu [hi-lock]
(cons "Regexp Highlighting" hi-lock-menu))
(hi-lock-find-patterns)
- (add-hook 'font-lock-mode-hook 'hi-lock-font-lock-hook t))
+ (add-hook 'font-lock-mode-hook 'hi-lock-font-lock-hook nil t))
;; Turned off.
- (when hi-lock-interactive-patterns
- (font-lock-remove-keywords nil hi-lock-interactive-patterns)
- (setq hi-lock-interactive-patterns nil))
- (when hi-lock-file-patterns
- (font-lock-remove-keywords nil hi-lock-file-patterns)
- (setq hi-lock-file-patterns nil))
- (hi-lock-refontify)
+ (when (or hi-lock-interactive-patterns
+ hi-lock-file-patterns)
+ (when hi-lock-interactive-patterns
+ (font-lock-remove-keywords nil hi-lock-interactive-patterns)
+ (setq hi-lock-interactive-patterns nil))
+ (when hi-lock-file-patterns
+ (font-lock-remove-keywords nil hi-lock-file-patterns)
+ (setq hi-lock-file-patterns nil))
+ (if font-lock-mode
+ (font-lock-fontify-buffer)))
(define-key-after menu-bar-edit-menu [hi-lock] nil)
(remove-hook 'font-lock-mode-hook 'hi-lock-font-lock-hook t)))
@@ -426,7 +430,7 @@ interactive functions. \(See `hi-lock-interactive-patterns'.\)
(font-lock-remove-keywords nil (list keyword))
(setq hi-lock-interactive-patterns
(delq keyword hi-lock-interactive-patterns))
- (hi-lock-refontify))))
+ (font-lock-fontify-buffer))))
;;;###autoload
(defun hi-lock-write-interactive-patterns ()
@@ -511,13 +515,7 @@ not suitable."
(font-lock-remove-keywords nil hi-lock-file-patterns)
(setq hi-lock-file-patterns patterns)
(font-lock-add-keywords nil hi-lock-file-patterns)
- (hi-lock-refontify)))
-
-(defun hi-lock-refontify ()
- "Unfontify then refontify buffer. Used when hi-lock patterns change."
- (interactive)
- (if font-lock-mode
- (font-lock-fontify-buffer)))
+ (font-lock-fontify-buffer)))
(defun hi-lock-find-patterns ()
"Find patterns in current buffer for hi-lock."
@@ -544,9 +542,10 @@ not suitable."
(defun hi-lock-font-lock-hook ()
"Add hi lock patterns to font-lock's."
- (when font-lock-mode
- (font-lock-add-keywords nil hi-lock-file-patterns)
- (font-lock-add-keywords nil hi-lock-interactive-patterns)))
+ (if font-lock-mode
+ (progn (font-lock-add-keywords nil hi-lock-file-patterns)
+ (font-lock-add-keywords nil hi-lock-interactive-patterns))
+ (hi-lock-buffer-mode -1)))
(provide 'hi-lock)