file-local-variables – Marque una variable local segura para cualquier valor

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.

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım