1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-30 08:09:04 +00:00

(font-lock-set-defaults): Unset previously set variables when needed.

This commit is contained in:
Stefan Monnier 2008-02-12 16:49:21 +00:00
parent 9787268671
commit 558ca3c122
2 changed files with 16 additions and 7 deletions

View File

@ -1,3 +1,8 @@
2008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
* font-lock.el (font-lock-set-defaults): Unset previously set variables
when needed.
2008-02-12 Juanma Barranquero <lekktu@gmail.com>
* uniquify.el (uniquify-buffer-base-name): New function.

View File

@ -1777,13 +1777,16 @@ Sets various variables using `font-lock-defaults' (or, if nil, using
(cdr-safe (assq major-mode font-lock-removed-keywords-alist))))
(set (make-local-variable 'font-lock-defaults) defaults)
;; Syntactic fontification?
(when (nth 1 defaults)
(set (make-local-variable 'font-lock-keywords-only) t))
(if (nth 1 defaults)
(set (make-local-variable 'font-lock-keywords-only) t)
(kill-local-variable 'font-lock-keywords-only))
;; Case fold during regexp fontification?
(when (nth 2 defaults)
(set (make-local-variable 'font-lock-keywords-case-fold-search) t))
(if (nth 2 defaults)
(set (make-local-variable 'font-lock-keywords-case-fold-search) t)
(kill-local-variable 'font-lock-keywords-case-fold-search))
;; Syntax table for regexp and syntactic fontification?
(when (nth 3 defaults)
(if (null (nth 3 defaults))
(kill-local-variable 'font-lock-syntax-table)
(set (make-local-variable 'font-lock-syntax-table)
(copy-syntax-table (syntax-table)))
(dolist (selem (nth 3 defaults))
@ -1794,9 +1797,10 @@ Sets various variables using `font-lock-defaults' (or, if nil, using
(mapcar 'identity (car selem))))
(modify-syntax-entry char syntax font-lock-syntax-table)))))
;; Syntax function for syntactic fontification?
(when (nth 4 defaults)
(if (nth 4 defaults)
(set (make-local-variable 'font-lock-beginning-of-syntax-function)
(nth 4 defaults)))
(nth 4 defaults))
(kill-local-variable 'font-lock-beginning-of-syntax-function))
;; Variable alist?
(dolist (x (nthcdr 5 defaults))
(set (make-local-variable (car x)) (cdr x)))