Mercurial > emacs
changeset 45713:57fbb3200dc6
(font-lock-default-function): If `font-lock-core-only' is non-nil,
don't use big font-lock machinery.
author | Colin Walters <walters@gnu.org> |
---|---|
date | Sun, 09 Jun 2002 00:41:11 +0000 |
parents | 3d25fe242d2a |
children | 7057566fa4c1 |
files | lisp/font-core.el |
diffstat | 1 files changed, 8 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/font-core.el Sun Jun 09 00:40:25 2002 +0000 +++ b/lisp/font-core.el Sun Jun 09 00:41:11 2002 +0000 @@ -225,7 +225,8 @@ (push (list 'face 'font-lock-face) char-property-alias-alist))) ;; Only do hard work if the mode has specified stuff in ;; `font-lock-defaults'. - (when font-lock-defaults + (when (and font-lock-defaults + (not font-lock-core-only)) (add-hook 'after-change-functions 'font-lock-after-change-function t t) (font-lock-turn-on-thing-lock) ;; Fontify the buffer if we have to. @@ -247,7 +248,8 @@ (setcdr elt (remq 'font-lock-face (cdr elt))) (when (null (cdr elt)) (setq char-property-alias-alist (delq elt char-property-alias-alist))))) - (when font-lock-defaults + (when (and font-lock-defaults + (not font-lock-core-only)) (remove-hook 'after-change-functions 'font-lock-after-change-function t) (font-lock-unfontify-buffer) (font-lock-turn-off-thing-lock)))) @@ -269,11 +271,13 @@ (make-local-variable 'font-lock-multiline) (let ((defaults (or font-lock-defaults (assq major-mode font-lock-defaults-alist)))) + ;; Variable alist? + (dolist (x (nthcdr 5 defaults)) + (set (make-local-variable (car x)) (cdr x))) (when (and defaults ;; Detect if this is a simple mode, which doesn't use ;; any syntactic fontification functions. - (not (cdr (assq 'font-lock-core-only - (nthcdr 5 defaults))))) + (not font-lock-core-only)) (require 'font-lock) (font-lock-set-defaults-1)))))