Commit 982cbcab authored by Alan Mackenzie's avatar Alan Mackenzie
Browse files

(hack-local-variables-filter): Remove entries with duplicate keys from

`file-local-variables-alist'.
parent 10d37df7
......@@ -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)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment