From: Chong Yidong Date: Tue, 14 Feb 2006 03:47:00 +0000 (+0000) Subject: * files.el (hack-local-variables): Only set results if they X-Git-Tag: emacs-pretest-22.0.90~4154 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=dd60bebe07d9fc5a6954d306269553d09e715de2;p=emacs.git * files.el (hack-local-variables): Only set results if they exist. --- diff --git a/lisp/files.el b/lisp/files.el index e96aace0467..0096916ce0b 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -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)