Commit f40b9f10 authored by Glenn Morris's avatar Glenn Morris

hack-local-variables-filter fix for bug#12155

* lisp/files.el (hack-local-variables-filter): If an eval: form is not
known to be safe, and enable-local-variables is :safe, then ignore
the form totally, as is done for non-eval forms.
parent db74a5fc
2012-08-07 Glenn Morris <rgm@gnu.org>
* files.el (hack-local-variables-filter): If an eval: form is not
known to be safe, and enable-local-variables is :safe, then ignore
the form totally, as is done for non-eval forms. (Bug#12155)
2012-08-07 Chong Yidong <cyd@gnu.org>
* mouse.el (mouse-drag-track): Deactivate the mark before popping.
......
......@@ -3107,11 +3107,16 @@ DIR-NAME is the name of the associated directory. Otherwise it is nil."
;; Obey `enable-local-eval'.
((eq var 'eval)
(when enable-local-eval
(push elt all-vars)
(or (eq enable-local-eval t)
(hack-one-local-variable-eval-safep (eval (quote val)))
(safe-local-variable-p var val)
(push elt unsafe-vars))))
(let ((safe (or (hack-one-local-variable-eval-safep
(eval (quote val)))
;; In case previously marked safe (bug#5636).
(safe-local-variable-p var val))))
;; If not safe and e-l-v = :safe, ignore totally.
(when (or safe (not (eq enable-local-variables :safe)))
(push elt all-vars)
(or (eq enable-local-eval t)
safe
(push elt unsafe-vars))))))
;; Ignore duplicates (except `mode') in the present list.
((and (assq var all-vars) (not (eq var 'mode))) nil)
;; Accept known-safe variables.
......
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