diff options
author | Alan Mackenzie <acm@muc.de> | 2009-07-18 21:02:52 +0000 |
---|---|---|
committer | Alan Mackenzie <acm@muc.de> | 2009-07-18 21:02:52 +0000 |
commit | 4abec4e36855c4cdc5943ea6690d96df76214166 (patch) | |
tree | c86dc5b2e034dd9a12a29e4bcce76550172c520b | |
parent | 9dae80a8105a3fc0bb05ec761cc4b63909e24f7c (diff) | |
download | emacs-4abec4e36855c4cdc5943ea6690d96df76214166.tar.gz |
(hack-local-variables-filter): Remove entries with duplicate keys from
`file-local-variables-alist'.
-rw-r--r-- | lisp/files.el | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/lisp/files.el b/lisp/files.el index a58580a8bf7..b2f8e1a2829 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -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) |