Pregunta:
La variable safe-local-variable-values
puede almacenar pares de nombre / valor que son seguros como archivo-local o directorio-local. Sin embargo, a veces quiero decir que cualquier valor es válido para una variable determinada. La página del manual a la que me vinculé dice que cualquier valor entero se considera seguro para fill-column
. ¿Hay alguna forma de hacer esto para mis propias variables?
Respuesta:
Establezca la propiedad safe-local-variable
en una función que valide el valor. Por ejemplo, fill-column
tiene una propiedad safe-local-variable
establecida en integerp
. Utilice (lambda (x) t)
como función de validación si algún valor es válido.
(defvar my-variable-with-any-safe-value …)
(put 'my-variable-with-any-safe-value 'safe-local-variable
(lambda (x) t))
o
(defcustom my-variable-with-any-safe-value …
:safe (lambda (x) t))
Tener un valor válido es bastante raro. Es mucho más común para restringir a un tipo específico, por ejemplo integerp
, stringp
, etc.