diff options
author | Glenn Morris <[email protected]> | 2009-06-22 07:02:04 +0000 |
---|---|---|
committer | Glenn Morris <[email protected]> | 2009-06-22 07:02:04 +0000 |
commit | 46253b344064c3cc340e6838bcb5f87d64a5260f (patch) | |
tree | 4310be03952b811421eeaab68436f113f660aecf | |
parent | d5067810ac1a013e191ed271d8add2999c2fd5ee (diff) |
(dir-locals-collect-mode-variables): Allow for any number of `mode'
and `eval' entries. (Bug#3430)
-rw-r--r-- | lisp/ChangeLog | 3 | ||||
-rw-r--r-- | lisp/files.el | 4 |
2 files changed, 6 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a39a5249aa..8d50839ea8 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2009-06-22 Glenn Morris <[email protected]> + * files.el (dir-locals-collect-mode-variables): Allow for any number of + `mode' and `eval' entries. (Bug#3430) + * Makefile.in (ELCFILES): Add fadr.elc. * calendar/appt.el (appt-make-list): Fix off-by-one error caused by diff --git a/lisp/files.el b/lisp/files.el index ff6b692769..8718a9668c 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -3213,7 +3213,9 @@ Returns the new list." (let* ((variable (car pair)) (value (cdr pair)) (slot (assq variable variables))) - (if slot + ;; If variables are specified more than once, only use the last. (Why?) + ;; The pseudo-variables mode and eval are different (bug#3430). + (if (and slot (not (memq variable '(mode eval)))) (setcdr slot value) ;; Need a new cons in case we setcdr later. (push (cons variable value) variables))))) |