mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-26 07:33:47 +00:00
Treat font-lock-keywords of (t) the same as nil.
xvc
This commit is contained in:
parent
35aba73916
commit
2d9cdda805
@ -97,7 +97,7 @@
|
||||
|
||||
;;;###autoload
|
||||
(defvar font-lock-maximum-decoration nil
|
||||
"*If non-nil, the maximum decoration level for fontifying.
|
||||
"*Maximum decoration level for fontification.
|
||||
If nil, use the default decoration (typically the minimum available).
|
||||
If t, use the maximum decoration available.
|
||||
If a number, use that level of decoration (or if not available the maximum).
|
||||
@ -109,7 +109,7 @@ available for buffers in `c-mode', and level 1 decoration otherwise.")
|
||||
|
||||
;;;###autoload
|
||||
(defvar font-lock-maximum-size (* 250 1024)
|
||||
"*If non-nil, the maximum size for buffers for fontifying.
|
||||
"*Maximum size of a buffer for buffer fontification.
|
||||
Only buffers less than this can be fontified when Font Lock mode is turned on.
|
||||
If nil, means size is irrelevant.
|
||||
If a list, each element should be a cons pair of the form (MAJOR-MODE . SIZE),
|
||||
@ -516,12 +516,12 @@ Turn on only if the buffer mode supports it and the terminal can display it."
|
||||
;; `major-mode-hook' is simpler), but maybe someone can come up with another
|
||||
;; solution? --sm.
|
||||
|
||||
(defvar font-lock-cache-buffers nil) ; For remembering buffers.
|
||||
(defvar change-major-mode-hook nil) ; Make sure it's not void.
|
||||
(defvar font-lock-buffers nil) ; For remembering buffers.
|
||||
(defvar change-major-mode-hook nil) ; Make sure it's not void.
|
||||
|
||||
;;;###autoload
|
||||
(defvar font-lock-global-modes t
|
||||
"*List of modes for which Font Lock mode is automatically turned on.
|
||||
"*Modes for which Font Lock mode is automatically turned on.
|
||||
Global Font Lock mode is controlled by the `global-font-lock-mode' command.
|
||||
If nil, means no modes have Font Lock mode automatically turned on.
|
||||
If t, all modes that support Font Lock mode have it automatically turned on.
|
||||
@ -546,7 +546,7 @@ turned on in a buffer if its major mode is one of `font-lock-global-modes'."
|
||||
(remove-hook 'change-major-mode-hook 'font-lock-change-major-mode)
|
||||
(add-hook 'change-major-mode-hook 'font-lock-change-major-mode)
|
||||
(add-hook 'post-command-hook 'turn-on-font-lock-if-enabled)
|
||||
(setq font-lock-cache-buffers (buffer-list)))
|
||||
(setq font-lock-buffers (buffer-list)))
|
||||
(if message
|
||||
(message "Global Font Lock mode is now %s." (if off-p "OFF" "ON")))
|
||||
(not off-p)))
|
||||
@ -557,23 +557,23 @@ turned on in a buffer if its major mode is one of `font-lock-global-modes'."
|
||||
;; major mode is being changed. Run `turn-on-font-lock-if-enabled' after the
|
||||
;; current command has finished.
|
||||
(add-hook 'post-command-hook 'turn-on-font-lock-if-enabled)
|
||||
(add-to-list 'font-lock-cache-buffers (current-buffer)))
|
||||
(add-to-list 'font-lock-buffers (current-buffer)))
|
||||
|
||||
(defun turn-on-font-lock-if-enabled ()
|
||||
;; Gross hack warning: Delicate readers should avert eyes now.
|
||||
;; Turn on Font Lock mode if it's one of `font-lock-global-modes'.
|
||||
(remove-hook 'post-command-hook 'turn-on-font-lock-if-enabled)
|
||||
(while font-lock-cache-buffers
|
||||
(if (buffer-live-p (car font-lock-cache-buffers))
|
||||
(while font-lock-buffers
|
||||
(if (buffer-live-p (car font-lock-buffers))
|
||||
(save-excursion
|
||||
(set-buffer (car font-lock-cache-buffers))
|
||||
(set-buffer (car font-lock-buffers))
|
||||
(if (or (eq font-lock-global-modes t)
|
||||
(if (eq (car-safe font-lock-global-modes) 'not)
|
||||
(not (memq major-mode (cdr font-lock-global-modes)))
|
||||
(memq major-mode font-lock-global-modes)))
|
||||
(let (inhibit-quit)
|
||||
(turn-on-font-lock)))))
|
||||
(setq font-lock-cache-buffers (cdr font-lock-cache-buffers))))
|
||||
(setq font-lock-buffers (cdr font-lock-buffers))))
|
||||
|
||||
;; End of Global Font Lock mode.
|
||||
|
||||
@ -1051,41 +1051,40 @@ Sets various variables using `font-lock-defaults' (or, if nil, using
|
||||
(font-lock-make-faces)
|
||||
;; Set fontification defaults.
|
||||
(make-local-variable 'font-lock-fontified)
|
||||
(if font-lock-keywords
|
||||
nil
|
||||
(let* ((defaults (or font-lock-defaults
|
||||
(cdr (assq major-mode font-lock-defaults-alist))))
|
||||
(keywords
|
||||
(font-lock-choose-keywords (nth 0 defaults)
|
||||
(font-lock-value-in-major-mode font-lock-maximum-decoration))))
|
||||
;; Regexp fontification?
|
||||
(setq font-lock-keywords (if (fboundp keywords)
|
||||
(funcall keywords)
|
||||
(eval keywords)))
|
||||
;; Syntactic fontification?
|
||||
(if (nth 1 defaults)
|
||||
(set (make-local-variable 'font-lock-keywords-only) t))
|
||||
;; Case fold during regexp fontification?
|
||||
(if (nth 2 defaults)
|
||||
(set (make-local-variable 'font-lock-keywords-case-fold-search) t))
|
||||
;; Syntax table for regexp and syntactic fontification?
|
||||
(if (nth 3 defaults)
|
||||
(let ((slist (nth 3 defaults)))
|
||||
(set (make-local-variable 'font-lock-syntax-table)
|
||||
(copy-syntax-table (syntax-table)))
|
||||
(while slist
|
||||
(modify-syntax-entry (car (car slist)) (cdr (car slist))
|
||||
font-lock-syntax-table)
|
||||
(setq slist (cdr slist)))))
|
||||
;; Syntax function for syntactic fontification?
|
||||
(if (nth 4 defaults)
|
||||
(set (make-local-variable 'font-lock-beginning-of-syntax-function)
|
||||
(nth 4 defaults)))
|
||||
;; Variable alist?
|
||||
(let ((alist (nthcdr 5 defaults)))
|
||||
(while alist
|
||||
(set (make-local-variable (car (car alist))) (cdr (car alist)))
|
||||
(setq alist (cdr alist)))))))
|
||||
(if (member font-lock-keywords '(nil (t)))
|
||||
(let* ((defaults (or font-lock-defaults
|
||||
(cdr (assq major-mode font-lock-defaults-alist))))
|
||||
(keywords
|
||||
(font-lock-choose-keywords (nth 0 defaults)
|
||||
(font-lock-value-in-major-mode font-lock-maximum-decoration))))
|
||||
;; Regexp fontification?
|
||||
(setq font-lock-keywords (if (fboundp keywords)
|
||||
(funcall keywords)
|
||||
(eval keywords)))
|
||||
;; Syntactic fontification?
|
||||
(if (nth 1 defaults)
|
||||
(set (make-local-variable 'font-lock-keywords-only) t))
|
||||
;; Case fold during regexp fontification?
|
||||
(if (nth 2 defaults)
|
||||
(set (make-local-variable 'font-lock-keywords-case-fold-search) t))
|
||||
;; Syntax table for regexp and syntactic fontification?
|
||||
(if (nth 3 defaults)
|
||||
(let ((slist (nth 3 defaults)))
|
||||
(set (make-local-variable 'font-lock-syntax-table)
|
||||
(copy-syntax-table (syntax-table)))
|
||||
(while slist
|
||||
(modify-syntax-entry (car (car slist)) (cdr (car slist))
|
||||
font-lock-syntax-table)
|
||||
(setq slist (cdr slist)))))
|
||||
;; Syntax function for syntactic fontification?
|
||||
(if (nth 4 defaults)
|
||||
(set (make-local-variable 'font-lock-beginning-of-syntax-function)
|
||||
(nth 4 defaults)))
|
||||
;; Variable alist?
|
||||
(let ((alist (nthcdr 5 defaults)))
|
||||
(while alist
|
||||
(set (make-local-variable (car (car alist))) (cdr (car alist)))
|
||||
(setq alist (cdr alist)))))))
|
||||
|
||||
(defun font-lock-unset-defaults ()
|
||||
"Unset fontification defaults. See `font-lock-set-defaults'."
|
||||
|
Loading…
Reference in New Issue
Block a user