]> git.eshelyaron.com Git - emacs.git/commitdiff
(hack-local-variables-filter): Remove entries with duplicate keys from
authorAlan Mackenzie <acm@muc.de>
Sat, 18 Jul 2009 20:41:32 +0000 (20:41 +0000)
committerAlan Mackenzie <acm@muc.de>
Sat, 18 Jul 2009 20:41:32 +0000 (20:41 +0000)
`file-local-variables-alist'.

lisp/files.el

index 0c4edf63363a30e310dfc9e3c31b4b78b88d635a..7568bd0492dee57f1aa7e857213feca85b678330 100644 (file)
@@ -2960,7 +2960,11 @@ DIR-NAME is a directory name if these settings come from
          (dolist (elt variables)
            (unless (or (member elt unsafe-vars)
                        (member elt risky-vars))
-             (push elt file-local-variables-alist)))
+             (let ((var (car elt)))
+               (unless (eq var 'eval)
+                 (setq file-local-variables-alist
+                       (assq-delete-all var file-local-variables-alist)))
+               (push elt file-local-variables-alist))))
        ;; Query, unless all are known safe or the user wants no
        ;; querying.
        (if (or (and (eq enable-local-variables t)
@@ -2970,7 +2974,12 @@ DIR-NAME is a directory name if these settings come from
                (hack-local-variables-confirm
                 variables unsafe-vars risky-vars dir-name))
            (dolist (elt variables)
-             (push elt file-local-variables-alist)))))))
+             (let ((var (car elt)))
+               (unless (eq var 'eval)
+                 (setq file-local-variables-alist
+                       (assq-delete-all var file-local-variables-alist)))
+               (push elt file-local-variables-alist))))))))
+
 
 (defun hack-local-variables (&optional mode-only)
   "Parse and put into effect this buffer's local variables spec.
@@ -3073,6 +3082,7 @@ is specified, returning t if it is specified."
          (enable-local-variables
           (hack-local-variables-filter result nil)
           (when file-local-variables-alist
+            ;; Any 'evals must run in the Right sequence.
             (setq file-local-variables-alist
                   (nreverse file-local-variables-alist))
             (run-hooks 'before-hack-local-variables-hook)