components/emacs/patches/eval_file_local_var.patch
branchs11-update
changeset 2523 f99c0e9ebba7
equal deleted inserted replaced
2521:84f52b7fc5db 2523:f99c0e9ebba7
       
     1 *** emacs-23.4.orig/lisp/files.el	Wed Jan 11 05:35:01 2012
       
     2 --- emacs-23.4/lisp/files.el	Fri Feb  1 13:21:50 2013
       
     3 ***************
       
     4 *** 2986,2996 ****
       
     5   	      ;; Obey `enable-local-eval'.
       
     6   	      ((eq var 'eval)
       
     7   	       (when enable-local-eval
       
     8 ! 		 (push elt all-vars)
       
     9 ! 		 (or (eq enable-local-eval t)
       
    10 ! 		     (hack-one-local-variable-eval-safep (eval (quote val)))
       
    11 ! 		     (safe-local-variable-p var val)
       
    12 ! 		     (push elt unsafe-vars))))
       
    13   	      ;; Ignore duplicates (except `mode') in the present list.
       
    14   	      ((and (assq var all-vars) (not (eq var 'mode))) nil)
       
    15   	      ;; Accept known-safe variables.
       
    16 --- 2986,3001 ----
       
    17   	      ;; Obey `enable-local-eval'.
       
    18   	      ((eq var 'eval)
       
    19   	       (when enable-local-eval
       
    20 ! 		 (let ((safe (or (hack-one-local-variable-eval-safep
       
    21 ! 				  (eval (quote val)))
       
    22 ! 				 ;; In case previously marked safe (bug#5636).
       
    23 ! 				 (safe-local-variable-p var val))))
       
    24 ! 		   ;; If not safe and e-l-v = :safe, ignore totally.
       
    25 ! 		   (when (or safe (not (eq enable-local-variables :safe)))
       
    26 ! 		     (push elt all-vars)
       
    27 ! 		     (or (eq enable-local-eval t)
       
    28 ! 			 safe
       
    29 ! 			 (push elt unsafe-vars))))))
       
    30   	      ;; Ignore duplicates (except `mode') in the present list.
       
    31   	      ((and (assq var all-vars) (not (eq var 'mode))) nil)
       
    32   	      ;; Accept known-safe variables.