summaryrefslogtreecommitdiff
path: root/lisp/font-core.el
diff options
context:
space:
mode:
authorColin Walters <walters@gnu.org>2002-06-09 00:41:11 +0000
committerColin Walters <walters@gnu.org>2002-06-09 00:41:11 +0000
commitab8b4e394f6eb33fd3986ebcc8737e996f580447 (patch)
tree88022e10c69084bed224906b39751005b8a403ba /lisp/font-core.el
parentfa79b413486a53774ec3c525af7df791f28698e1 (diff)
downloademacs-ab8b4e394f6eb33fd3986ebcc8737e996f580447.tar.gz
(font-lock-default-function): If `font-lock-core-only' is non-nil,
don't use big font-lock machinery.
Diffstat (limited to 'lisp/font-core.el')
-rw-r--r--lisp/font-core.el12
1 files changed, 8 insertions, 4 deletions
diff --git a/lisp/font-core.el b/lisp/font-core.el
index 08d2eb07d97..69e899f31e5 100644
--- a/lisp/font-core.el
+++ b/lisp/font-core.el
@@ -225,7 +225,8 @@ your own function which is called when `font-lock-mode' is toggled via
(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 @@ your own function which is called when `font-lock-mode' is toggled via
(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 @@ Sets various variables using `font-lock-defaults' (or, if nil, using
(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)))))