Marque una variable local segura para cualquier valor


13

La variable safe-local-variable-valuespuede almacenar pares de nombre / valor que son seguros como local de archivo o local de directorio. Sin embargo, a veces quiero decir que cualquier valor es válido para una variable dada. La página del manual que he vinculado dice que cualquier valor entero se considera seguro fill-column. ¿Hay alguna manera de hacer esto para mis propias variables?


Intenta usarlo identitycomo prueba.
wasamasa

1
@wasamasa creo que (lambda (_) t) es mejor, para el caso nulo.
lunaryorn

Respuestas:


18

Establezca la safe-local-variablepropiedad en una función que valide el valor. Por ejemplo, fill-columntiene una safe-local-variablepropiedad establecida en integerp. Úselo (lambda (x) t)como la 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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.