Marque uma variável local como segura para qualquer valor


13

A variável safe-local-variable-valuespode armazenar pares nome / valor que são seguros como arquivo local ou diretório local. No entanto, às vezes, quero dizer que qualquer valor é válido para uma determinada variável. A página de manual à qual vinculei diz que qualquer valor inteiro é considerado seguro fill-column. Existe uma maneira de fazer isso para minhas próprias variáveis?


Tente usar identitycomo teste.
Wasamasa 12/04

1
@wasamasa Eu acho que (lambda (_) t) é melhor, para o caso nulo.
lunaryorn

Respostas:


18

Defina a safe-local-variablepropriedade como uma função que valida o valor. Por exemplo, fill-columntem uma safe-local-variablepropriedade definida como integerp. Use (lambda (x) t)como função de validação se algum valor for válido.

(defvar my-variable-with-any-safe-value …)
(put 'my-variable-with-any-safe-value 'safe-local-variable
     (lambda (x) t))

ou

(defcustom my-variable-with-any-safe-value …
  :safe (lambda (x) t))

Ter qualquer valor válido é bem raro. É muito mais comum para restringir a um tipo específico, por exemplo integerp, stringp, etc.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.