From: Eli Zaretskii Date: Thu, 13 Apr 2006 10:54:38 +0000 (+0000) Subject: (hack-one-local-variable-eval-safep): Recognize `edebug-form-spec' for `put', X-Git-Tag: emacs-pretest-22.0.90~3155 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=bc5d1dfb83ccf474205c109eb515fa8fae8dbf6c;p=emacs.git (hack-one-local-variable-eval-safep): Recognize `edebug-form-spec' for `put', but only if it passes `edebug-basic-spec'. Generalize `put' handling. --- diff --git a/lisp/files.el b/lisp/files.el index ca03ee8726b..cd474e868d0 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -2689,12 +2689,14 @@ It is dangerous if either of these conditions are met: (and (eq (car exp) 'put) (hack-one-local-variable-quotep (nth 1 exp)) (hack-one-local-variable-quotep (nth 2 exp)) - (memq (nth 1 (nth 2 exp)) - '(lisp-indent-hook)) - ;; Only allow safe values of lisp-indent-hook; - ;; not functions. - (or (numberp (nth 3 exp)) - (equal (nth 3 exp) ''defun))) + (let ((prop (nth 1 (nth 2 exp))) (val (nth 3 exp))) + (cond ((eq prop 'lisp-indent-hook) + ;; Only allow safe values of lisp-indent-hook; + ;; not functions. + (or (numberp val) (equal val ''defun))) + ((eq prop 'edebug-form-spec) + ;; Only allow indirect form specs. + (edebug-basic-spec val))))) ;; Allow expressions that the user requested. (member exp safe-local-eval-forms) ;; Certain functions can be allowed with safe arguments