From e4d5906679550237183db676a51bbc67a880ab81 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Fri, 25 Nov 2005 05:32:56 +0000 Subject: [PATCH] * 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. --- lisp/ChangeLog | 11 +++++++++-- lisp/hi-lock.el | 37 ++++++++++++++++++------------------- 2 files changed, 27 insertions(+), 21 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 59c4c13ce6a..11df73f8649 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,7 +1,8 @@ 2005-11-24 Chong Yidong * hi-lock.el (hi-lock-buffer-mode): Renamed from `hi-lock-mode'. - Use define-minor-mode, and make it a local mode. + Use define-minor-mode, and make it a local mode. Turn on + font-lock. (hi-lock-mode): New global minor mode. (turn-on-hi-lock-if-enabled): New function. (hi-lock-line-face-buffer, hi-lock-face-buffer) @@ -13,8 +14,14 @@ (hi-lock-face-phrase-buffer): Call hi-lock-buffer-mode. Use new arguments for hi-lock-set-pattern. + (hi-lock-unface-buffer, hi-lock-set-file-patterns): Call + font-lock-fontify-buffer. (hi-lock-find-file-hook, hi-lock-current-line) - (hi-lock-set-patterns): Deleted unused functions. + (hi-lock-refontify, hi-lock-set-patterns): Deleted unused + functions. + + (hi-lock-font-lock-hook): Turn off hi-lock when font lock is + turned off. * progmodes/compile.el (compilation-setup): Don't fiddle with font-lock-defaults. diff --git a/lisp/hi-lock.el b/lisp/hi-lock.el index 91c654b86e1..aa40ad2ae5e 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) -- 2.39.5