# HG changeset patch # User Glenn Morris # Date 1245654124 0 # Node ID 86efef758d8cce292f86a085ad1f6c9b89adaec9 # Parent b3548b2342dc74c9e3c4982caf26b9506a20a90b (dir-locals-collect-mode-variables): Allow for any number of `mode' and `eval' entries. (Bug#3430) diff -r b3548b2342dc -r 86efef758d8c lisp/ChangeLog --- a/lisp/ChangeLog Mon Jun 22 06:41:50 2009 +0000 +++ b/lisp/ChangeLog Mon Jun 22 07:02:04 2009 +0000 @@ -1,5 +1,8 @@ 2009-06-22 Glenn Morris + * 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 -r b3548b2342dc -r 86efef758d8c lisp/files.el --- a/lisp/files.el Mon Jun 22 06:41:50 2009 +0000 +++ b/lisp/files.el Mon Jun 22 07:02:04 2009 +0000 @@ -3213,7 +3213,9 @@ (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)))))