# HG changeset patch # User Richard M. Stallman # Date 739747916 0 # Node ID ae0389767674156c5a1476b38330c9b2602fd89a # Parent 57174f9b1870fac31a0215aed3d1b94ded24ed08 (hack-one-local-variable): Treat ...-hook(s) and ..-function(s) like setting the `eval' variable. diff -r 57174f9b1870 -r ae0389767674 lisp/files.el --- a/lisp/files.el Thu Jun 10 21:15:55 1993 +0000 +++ b/lisp/files.el Thu Jun 10 21:31:56 1993 +0000 @@ -1011,7 +1011,9 @@ ((memq var ignored-local-variables) nil) ;; "Setting" eval means either eval it or do nothing. - ((eq var 'eval) + ;; Likewise for setting hook variables. + ((or (eq var 'eval) + (string-match "-hooks?$\\|-functions?$" (symbol-name var))) (if (and (not (string= (user-login-name) "root")) (or (eq enable-local-eval t) (and enable-local-eval @@ -1021,9 +1023,12 @@ (beginning-of-line) (set-window-start (selected-window) (point))) (setq enable-local-eval - (y-or-n-p (format "Process `eval' local variable in file %s? " + (y-or-n-p (format "Process `eval' or hook local variables in file %s? " (file-name-nondirectory buffer-file-name)))))))) - (save-excursion (eval val)) + (if (eq var 'eval) + (save-excursion (eval val)) + (make-local-variable var) + (set var val)) (message "Ignoring `eval:' in file's local variables"))) ;; Ordinary variable, really set it. (t (make-local-variable var)