]> git.eshelyaron.com Git - emacs.git/commitdiff
* files.el (hack-local-variables): Only set results if they
authorChong Yidong <cyd@stupidchicken.com>
Tue, 14 Feb 2006 03:47:00 +0000 (03:47 +0000)
committerChong Yidong <cyd@stupidchicken.com>
Tue, 14 Feb 2006 03:47:00 +0000 (03:47 +0000)
          exist.

lisp/files.el

index e96aace0467c9fd7504c39e940d4b1e9cbee0a84..0096916ce0bfaff77af677bc7df3f87df5e0cb0e 100644 (file)
@@ -2439,34 +2439,35 @@ is specified, returning t if it is specified."
       ;; variables (if MODE-ONLY is nil.)
       (if mode-only
          result
-       (setq result (nreverse result))
-       (dolist (ignored ignored-local-variables)
-         (setq result (assq-delete-all ignored result)))
-       (if (null enable-local-eval)
-           (setq result (assq-delete-all 'eval result)))
-       ;; Find those variables that we may want to save to
-       ;; `safe-local-variable-values'.
-       (let (risky-vars unsafe-vars)
-         (dolist (elt result)
-           (let ((var (car elt))
-                 (val (cdr elt)))
-             (or (eq var 'mode)
-                 (and (eq var 'eval)
-                      (or (eq enable-local-eval t)
-                          (hack-one-local-variable-eval-safep
-                           (eval (quote val)))))
-                 (safe-local-variable-p var val)
-                 (and (risky-local-variable-p var val)
-                      (push elt risky-vars))
-                 (push elt unsafe-vars))))
-         (if (or (and (eq enable-local-variables t)
-                      (null unsafe-vars)
-                      (null risky-vars))
-                 (hack-local-variables-confirm
-                  result unsafe-vars risky-vars))
-             (dolist (elt result)
-               (hack-one-local-variable (car elt) (cdr elt)))))
-       (run-hooks 'hack-local-variables-hook)))))
+       (when result
+         (setq result (nreverse result))
+         (dolist (ignored ignored-local-variables)
+           (setq result (assq-delete-all ignored result)))
+         (if (null enable-local-eval)
+             (setq result (assq-delete-all 'eval result)))
+         ;; Find those variables that we may want to save to
+         ;; `safe-local-variable-values'.
+         (let (risky-vars unsafe-vars)
+           (dolist (elt result)
+             (let ((var (car elt))
+                   (val (cdr elt)))
+               (or (eq var 'mode)
+                   (and (eq var 'eval)
+                        (or (eq enable-local-eval t)
+                            (hack-one-local-variable-eval-safep
+                             (eval (quote val)))))
+                   (safe-local-variable-p var val)
+                   (and (risky-local-variable-p var val)
+                        (push elt risky-vars))
+                   (push elt unsafe-vars))))
+           (if (or (and (eq enable-local-variables t)
+                        (null unsafe-vars)
+                        (null risky-vars))
+                   (hack-local-variables-confirm
+                    result unsafe-vars risky-vars))
+               (dolist (elt result)
+                 (hack-one-local-variable (car elt) (cdr elt)))))
+         (run-hooks 'hack-local-variables-hook))))))
 
 (defvar ignored-local-variables
   '(ignored-local-variables safe-local-variable-values)