# HG changeset patch # User Stefan Monnier # Date 1135267772 0 # Node ID f2537ba84319029bba2048b5df7309612582b664 # Parent 983f4d2eb6a33f5a63c7d56796791b768b0108c4 (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. diff -r 983f4d2eb6a3 -r f2537ba84319 lisp/ChangeLog --- a/lisp/ChangeLog Thu Dec 22 14:44:38 2005 +0000 +++ b/lisp/ChangeLog Thu Dec 22 16:09:32 2005 +0000 @@ -1,3 +1,13 @@ +2005-12-22 Stefan Monnier + + * 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 * emacs-lisp/lisp.el (lisp-complete-symbol): Don't print progress diff -r 983f4d2eb6a3 -r f2537ba84319 lisp/font-lock.el --- a/lisp/font-lock.el Thu Dec 22 14:44:38 2005 +0000 +++ b/lisp/font-lock.el Thu Dec 22 16:09:32 2005 +0000 @@ -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 @@ (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 @@ ;; 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 @@ (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 @@ (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 @@ (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.