将本地变量标记为任何值均安全


13

该变量safe-local-variable-values可以存储作为文件本地或目录本地安全的名称/值对。但是有时候我想说任何值对于给定变量都是有效的。我链接到的手册页说,对于,任何整数值都被认为是安全的fill-column。有没有办法对我自己的变量执行此操作?


尝试identity用作测试。
wasamasa

1
@wasamasa我认为(lambda(_)t)更好,对于零情况。
lunaryorn '16

Answers:


18

将该safe-local-variable属性设置为验证该值的函数。例如,fill-columnsafe-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))

具有任何有效值的情况很少见。这是更为常见限制到特定的类型,例如integerpstringp等等。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.