summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>2002-10-26 22:34:14 +0000
committerRichard M. Stallman <rms@gnu.org>2002-10-26 22:34:14 +0000
commit0d8781d856ad2d8af7f735737441c01a20258e71 (patch)
tree59c3598a5ba3e8dbe5b79040a4e8d33c36ad2a95 /lisp
parent4244e7dc9c624a4b9268498465a65b23039d6bd6 (diff)
downloademacs-0d8781d856ad2d8af7f735737441c01a20258e71.tar.gz
(risky-local-variable-p): VAL=nil has special meaning.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/files.el6
1 files changed, 4 insertions, 2 deletions
diff --git a/lisp/files.el b/lisp/files.el
index be6cdfeb9b7..f050713e135 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -2061,7 +2061,8 @@ is specified, returning t if it is specified."
(put 'compile-command 'safe-local-variable 'stringp)
(defun risky-local-variable-p (sym val)
- "Non-nil if SYM could be dangerous as a file-local variable with value VAL."
+ "Non-nil if SYM could be dangerous as a file-local variable with value VAL.
+If VAL is nil, the question is whether any value might be dangerous."
(let ((safep (get sym 'safe-local-variable)))
(or (memq sym ignored-local-variables)
(get sym 'risky-local-variable)
@@ -2071,7 +2072,8 @@ is specified, returning t if it is specified."
;; If the safe-local-variable property isn't t or nil,
;; then it must return non-nil on the proposed value to be safe.
(and (not (memq safep '(t nil)))
- (not (funcall safep val))))))
+ (or (null val)
+ (not (funcall safep val)))))))
(defcustom safe-local-eval-forms nil
"*Expressions that are considered \"safe\" in an `eval:' local variable.