aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog9
-rw-r--r--lisp/files.el8
2 files changed, 13 insertions, 4 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index c2a166435d0..05bad0f012b 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,14 @@
12009-12-17 Juri Linkov <juri@jurta.org> 12009-12-17 Juri Linkov <juri@jurta.org>
2 2
3 Fix regression from 23.1 to allow multiple modes in Local Variables.
4
5 * files.el (hack-local-variables-filter): While ignoring duplicates,
6 don't take `mode' into account.
7 (hack-local-variables-filter, hack-dir-local-variables): Don't
8 remove duplicate `mode' from local-variables-alist (like `eval').
9
102009-12-17 Juri Linkov <juri@jurta.org>
11
3 Make `dired-diff' more safe. (Bug#5225) 12 Make `dired-diff' more safe. (Bug#5225)
4 13
5 * dired-aux.el (dired-diff): Signal an error when `file' equals to 14 * dired-aux.el (dired-diff): Signal an error when `file' equals to
diff --git a/lisp/files.el b/lisp/files.el
index 8478151cf78..b848407b3ae 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -2978,8 +2978,8 @@ DIR-NAME is a directory name if these settings come from
2978 (or (eq enable-local-eval t) 2978 (or (eq enable-local-eval t)
2979 (hack-one-local-variable-eval-safep (eval (quote val))) 2979 (hack-one-local-variable-eval-safep (eval (quote val)))
2980 (push elt unsafe-vars)))) 2980 (push elt unsafe-vars))))
2981 ;; Ignore duplicates in the present list. 2981 ;; Ignore duplicates (except `mode') in the present list.
2982 ((assq var all-vars) nil) 2982 ((and (assq var all-vars) (not (eq var 'mode))) nil)
2983 ;; Accept known-safe variables. 2983 ;; Accept known-safe variables.
2984 ((or (memq var '(mode unibyte coding)) 2984 ((or (memq var '(mode unibyte coding))
2985 (safe-local-variable-p var val)) 2985 (safe-local-variable-p var val))
@@ -2999,7 +2999,7 @@ DIR-NAME is a directory name if these settings come from
2999 (hack-local-variables-confirm all-vars unsafe-vars 2999 (hack-local-variables-confirm all-vars unsafe-vars
3000 risky-vars dir-name)) 3000 risky-vars dir-name))
3001 (dolist (elt all-vars) 3001 (dolist (elt all-vars)
3002 (unless (eq (car elt) 'eval) 3002 (unless (memq (car elt) '(eval mode))
3003 (unless dir-name 3003 (unless dir-name
3004 (setq dir-local-variables-alist 3004 (setq dir-local-variables-alist
3005 (assq-delete-all (car elt) dir-local-variables-alist))) 3005 (assq-delete-all (car elt) dir-local-variables-alist)))
@@ -3427,7 +3427,7 @@ and `file-local-variables-alist', without applying them."
3427 (dir-locals-get-class-variables class) dir-name nil))) 3427 (dir-locals-get-class-variables class) dir-name nil)))
3428 (when variables 3428 (when variables
3429 (dolist (elt variables) 3429 (dolist (elt variables)
3430 (unless (eq (car elt) 'eval) 3430 (unless (memq (car elt) '(eval mode))
3431 (setq dir-local-variables-alist 3431 (setq dir-local-variables-alist
3432 (assq-delete-all (car elt) dir-local-variables-alist))) 3432 (assq-delete-all (car elt) dir-local-variables-alist)))
3433 (push elt dir-local-variables-alist)) 3433 (push elt dir-local-variables-alist))