任意の値に対して安全なローカル変数をマークする


13

変数にsafe-local-variable-valuesは、ファイルローカルまたはディレクトリローカルとして安全な名前/値のペアを格納できます。しかし、時々私が言いたいの任意の値が与えられた変数に対して有効です。私がリンクしたマニュアルページには、整数値はすべて安全であると考えられていますfill-column。私自身の変数に対してこれを行う方法はありますか?


identityテストとして使用してみてください。
-wasamasa

1
@wasamasa(ラムダ(_)t)は、nilの場合の方が良いと思います。
lunaryorn

回答:


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など

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.