summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2005-12-22 16:09:32 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2005-12-22 16:09:32 +0000
commite0be77f6d88f3cd8226c2897e5019d3897a39d4f (patch)
tree648376e940c25602835b90eb7562a7f1817fb274
parent2e23b82e52e5fa52971b2b6e4a0e173c05476f52 (diff)
downloademacs-e0be77f6d88f3cd8226c2897e5019d3897a39d4f.tar.gz
(font-lock-default-fontify-buffer): Try and set-defaults even if font-lock-mode
is non-nil since it may be t without having turned on font-lock-mode-internal. (font-lock-choose-keywords): Minor optimization. (font-lock-add-keywords, font-lock-remove-keywords, font-lock-set-defaults): Don't call make-local-variable on a variable that we know to already be local.
-rw-r--r--lisp/ChangeLog10
-rw-r--r--lisp/font-lock.el27
2 files changed, 23 insertions, 14 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 130bfcdde69..1aeb8df4fcc 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,13 @@
+2005-12-22 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * font-lock.el (font-lock-default-fontify-buffer): Try and set-defaults
+ even if font-lock-mode is non-nil since it may be t without having
+ turned on font-lock-mode-internal.
+ (font-lock-choose-keywords): Minor optimization.
+ (font-lock-add-keywords, font-lock-remove-keywords)
+ (font-lock-set-defaults): Don't call make-local-variable on a variable
+ that we know to already be local.
+
2005-12-22 Katsumi Yamaoka <yamaoka@jpl.org>
* emacs-lisp/lisp.el (lisp-complete-symbol): Don't print progress
diff --git a/lisp/font-lock.el b/lisp/font-lock.el
index be97ce41e61..ca0848bd561 100644
--- a/lisp/font-lock.el
+++ b/lisp/font-lock.el
@@ -153,8 +153,8 @@
;;
;; (add-hook 'foo-mode-hook
;; (lambda ()
-;; (make-local-variable 'font-lock-defaults)
-;; (setq font-lock-defaults '(foo-font-lock-keywords t))))
+;; (set (make-local-variable 'font-lock-defaults)
+;; '(foo-font-lock-keywords t))))
;;; Adding Font Lock support for modes:
@@ -174,8 +174,8 @@
;;
;; and within `bar-mode' there could be:
;;
-;; (make-local-variable 'font-lock-defaults)
-;; (setq font-lock-defaults '(bar-font-lock-keywords nil t))
+;; (set (make-local-variable 'font-lock-defaults)
+;; '(bar-font-lock-keywords nil t))
;; What is fontification for? You might say, "It's to make my code look nice."
;; I think it should be for adding information in the form of cues. These cues
@@ -723,8 +723,8 @@ see the variables `c-font-lock-extra-types', `c++-font-lock-extra-types',
(append keywords old)))))
;; If the keywords were compiled before, compile them again.
(if was-compiled
- (set (make-local-variable 'font-lock-keywords)
- (font-lock-compile-keywords font-lock-keywords t)))))))
+ (setq font-lock-keywords
+ (font-lock-compile-keywords font-lock-keywords t)))))))
(defun font-lock-update-removed-keyword-alist (mode keywords how)
"Update `font-lock-removed-keywords-alist' when adding new KEYWORDS to MODE."
@@ -830,8 +830,8 @@ happens, so the major mode can be corrected."
;; If the keywords were compiled before, compile them again.
(if was-compiled
- (set (make-local-variable 'font-lock-keywords)
- (font-lock-compile-keywords font-lock-keywords t)))))))
+ (setq font-lock-keywords
+ (font-lock-compile-keywords font-lock-keywords t)))))))
;;; Font Lock Support mode.
@@ -1001,8 +1001,7 @@ The value of this variable is used when Font Lock mode is turned on."
(when verbose
(format "Fontifying %s..." (buffer-name)))
;; Make sure we have the right `font-lock-keywords' etc.
- (unless font-lock-mode
- (font-lock-set-defaults))
+ (font-lock-set-defaults)
;; Make sure we fontify etc. in the whole buffer.
(save-restriction
(widen)
@@ -1574,9 +1573,9 @@ A LEVEL of nil is equal to a LEVEL of 0, a LEVEL of t is equal to
(cond ((not (and (listp keywords) (symbolp (car keywords))))
keywords)
((numberp level)
- (or (nth level keywords) (car (reverse keywords))))
+ (or (nth level keywords) (car (last keywords))))
((eq level t)
- (car (reverse keywords)))
+ (car (last keywords)))
(t
(car keywords))))
@@ -1642,8 +1641,8 @@ Sets various variables using `font-lock-defaults' (or, if nil, using
(font-lock-remove-keywords nil removed-keywords))
;; Now compile the keywords.
(unless (eq (car font-lock-keywords) t)
- (set (make-local-variable 'font-lock-keywords)
- (font-lock-compile-keywords font-lock-keywords t))))))
+ (setq font-lock-keywords
+ (font-lock-compile-keywords font-lock-keywords t))))))
;;; Colour etc. support.