]> git.eshelyaron.com Git - emacs.git/commitdiff
(font-lock-set-defaults): Unset previously set variables when needed.
authorStefan Monnier <monnier@iro.umontreal.ca>
Tue, 12 Feb 2008 16:49:21 +0000 (16:49 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Tue, 12 Feb 2008 16:49:21 +0000 (16:49 +0000)
lisp/ChangeLog
lisp/font-lock.el

index 5b3681124546c9d5875db511c7e72dcbd52c367e..49706f3c0aafa3c3df6e797174ff2fdf9b0bb238 100644 (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.
index 8fcd85515a43aaf005d7c37cb6640b9fdab74e72..0408d12b5d1c6c309d5cbcfb257d87cd2a423141 100644 (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)))