1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-03 22:20:52 -08:00

(hack-one-local-variable-eval-safep): Recognize edebug-form-spec' for put',

but only if it passes `edebug-basic-spec'.  Generalize `put' handling.
This commit is contained in:
Eli Zaretskii 2006-04-13 10:54:38 +00:00
parent 65d04e7627
commit bc5d1dfb83

View file

@ -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