summaryrefslogtreecommitdiff
path: root/lisp/font-lock.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2002-09-25 19:34:07 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2002-09-25 19:34:07 +0000
commit7f0d55f29ebc98d6ee06040e75fc1e415d5b55ec (patch)
treefefc9b7bb90887c0d83e1a81a5526673ddc7ac1f /lisp/font-lock.el
parent1a40d81d1a511d2c0bb6be6e2149f6a3e84aa06c (diff)
downloademacs-7f0d55f29ebc98d6ee06040e75fc1e415d5b55ec.tar.gz
(fast-lock-mode, lazy-lock-mode, jit-lock-mode): Don't bind them variables.
(font-lock-turn-off-thing-lock, font-lock-after-fontify-buffer) (font-lock-after-unfontify-buffer): Check that the vars are bound. (font-lock-dont-widen): New var. (font-lock-default-fontify-region): Use it.
Diffstat (limited to 'lisp/font-lock.el')
-rw-r--r--lisp/font-lock.el33
1 files changed, 20 insertions, 13 deletions
diff --git a/lisp/font-lock.el b/lisp/font-lock.el
index ceb0cc1187c..a8ecf18c5ed 100644
--- a/lisp/font-lock.el
+++ b/lisp/font-lock.el
@@ -788,9 +788,9 @@ The value of this variable is used when Font Lock mode is turned on."
:version "21.1"
:group 'font-lock)
-(defvar fast-lock-mode nil)
-(defvar lazy-lock-mode nil)
-(defvar jit-lock-mode nil)
+(defvar fast-lock-mode)
+(defvar lazy-lock-mode)
+(defvar jit-lock-mode)
(defun font-lock-turn-on-thing-lock ()
(let ((thing-mode (font-lock-value-in-major-mode font-lock-support-mode)))
@@ -811,26 +811,26 @@ The value of this variable is used when Font Lock mode is turned on."
(not font-lock-keywords-only))))))
(defun font-lock-turn-off-thing-lock ()
- (cond (fast-lock-mode
+ (cond ((and (boundp 'fast-lock-mode) fast-lock-mode)
(fast-lock-mode -1))
- (jit-lock-mode
+ ((and (boundp 'jit-lock-mode) jit-lock-mode)
(jit-lock-unregister 'font-lock-fontify-region)
;; Reset local vars to the non-jit-lock case.
(kill-local-variable 'font-lock-fontify-buffer-function))
- (lazy-lock-mode
+ ((and (boundp 'lazy-lock-mode) lazy-lock-mode)
(lazy-lock-mode -1))))
(defun font-lock-after-fontify-buffer ()
- (cond (fast-lock-mode
+ (cond ((and (boundp 'fast-lock-mode) fast-lock-mode)
(fast-lock-after-fontify-buffer))
;; Useless now that jit-lock intercepts font-lock-fontify-buffer. -sm
;; (jit-lock-mode
;; (jit-lock-after-fontify-buffer))
- (lazy-lock-mode
+ ((and (boundp 'lazy-lock-mode) lazy-lock-mode)
(lazy-lock-after-fontify-buffer))))
(defun font-lock-after-unfontify-buffer ()
- (cond (fast-lock-mode
+ (cond ((and (boundp 'fast-lock-mode) fast-lock-mode)
(fast-lock-after-unfontify-buffer))
;; Useless as well. It's only called when:
;; - turning off font-lock: it does not matter if we leave spurious
@@ -840,7 +840,7 @@ The value of this variable is used when Font Lock mode is turned on."
;;
;; (jit-lock-mode
;; (jit-lock-after-unfontify-buffer))
- (lazy-lock-mode
+ ((and (boundp 'lazy-lock-mode) lazy-lock-mode)
(lazy-lock-after-unfontify-buffer))))
;;; End of Font Lock Support mode.
@@ -932,13 +932,18 @@ The value of this variable is used when Font Lock mode is turned on."
(font-lock-after-unfontify-buffer)
(setq font-lock-fontified nil)))
+(defvar font-lock-dont-widen nil
+ "If non-nil, font-lock will work on the non-widened buffer.
+Useful for things like RMAIL and Info where the whole buffer is not
+a very meaningful entity to highlight.")
+
(defun font-lock-default-fontify-region (beg end loudly)
(save-buffer-state
((parse-sexp-lookup-properties font-lock-syntactic-keywords)
(old-syntax-table (syntax-table)))
(unwind-protect
(save-restriction
- (widen)
+ (unless font-lock-dont-widen (widen))
;; Use the fontification syntax table, if any.
(when font-lock-syntax-table
(set-syntax-table font-lock-syntax-table))
@@ -1025,7 +1030,8 @@ delimit the region to fontify."
(font-lock-fontify-region (point) (mark)))
((error quit) (message "Fontifying block...%s" error-data)))))))
-(define-key facemenu-keymap "\M-g" 'font-lock-fontify-block)
+(if (boundp 'facemenu-keymap)
+ (define-key facemenu-keymap "\M-g" 'font-lock-fontify-block))
;;; End of Fontification functions.
@@ -1312,7 +1318,8 @@ LIMIT can be modified by the value of its PRE-MATCH-FORM."
(defun font-lock-fontify-keywords-region (start end &optional loudly)
"Fontify according to `font-lock-keywords' between START and END.
-START should be at the beginning of a line."
+START should be at the beginning of a line.
+LOUDLY, if non-nil, allows progress-meter bar."
(unless (eq (car font-lock-keywords) t)
(setq font-lock-keywords
(font-lock-compile-keywords font-lock-keywords t)))