The variable safe-local-variable-values
can store name/value pairs that are safe as file-local or directory-local. However sometimes I want to say any value is valid for a given variable. The manual page I linked to says that any integer value is considered safe for fill-column
. Is there a way to do this for my own variables?
1 Answer
Set the safe-local-variable
property to a function that validates the value. For example, fill-column
has a safe-local-variable
property set to integerp
. Use (lambda (x) t)
as the validation function if any value is valid.
(defvar my-variable-with-any-safe-value …)
(put 'my-variable-with-any-safe-value 'safe-local-variable
(lambda (x) t))
or
(defcustom my-variable-with-any-safe-value …
:safe (lambda (x) t))
Having any valid value is pretty rare. It's far more common to restrict to a specific type, e.g. integerp
, stringp
, etc.
identity
as test.(lambda (_) t)
is also predefined asalways