Contrassegna una variabile locale sicura per qualsiasi valore


13

La variabile safe-local-variable-valuespuò memorizzare coppie nome / valore sicure come file-local o directory-local. Tuttavia a volte voglio dire che qualsiasi valore è valido per una determinata variabile. La pagina di manuale a cui ho collegato dice che qualsiasi valore intero è considerato sicuro per fill-column. C'è un modo per farlo per le mie variabili?


Prova a usare identitycome test.
Wasamasa,

1
@wasamasa Penso che (lambda (_) t) sia migliore, per il caso zero.
lunaryorn,

Risposte:


18

Impostare la safe-local-variableproprietà su una funzione che convalida il valore. Ad esempio, fill-columnha una safe-local-variableproprietà impostata su integerp. Utilizzare (lambda (x) t)come funzione di convalida se un valore è valido.

(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))

Avere un valore valido è piuttosto raro. E 'molto più comune per limitare a un tipo specifico, ad esempio integerp, stringpe così via

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.