Позначте локальну змінну безпечною для будь-якого значення


13

Змінна safe-local-variable-valuesможе зберігати пари імен / значень, які є безпечними як файл-локальний або каталог-локальний. Однак іноді я хочу сказати, що будь-яке значення є дійсним для даної змінної. Сторінка керівництва, на яку я пов’язана, говорить про те, що будь-яке ціле значення вважається безпечним fill-column. Чи є спосіб це зробити для власних змінних?


Спробуйте використовувати identityяк тест.
wasamasa

1
@wasamasa Я думаю (лямбда (_) т) краще, для нульового випадку.
місячний рік

Відповіді:


18

Встановіть safe-local-variableвластивість у функцію, яка перевіряє значення. Наприклад, fill-columnмає safe-local-variableнабір властивостей для integerp. Використовуйте (lambda (x) t)як функцію перевірки, якщо будь-яке значення дійсне.

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

або

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

Мати будь-яке дійсне значення - досить рідко. Це набагато більш поширене явище , щоб обмежити до типу конкретного, наприклад integerp, stringpі т.д.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.