まず、出るものはこれ。
The local variables list in paip-study.lisp
contains values that may not be safe (*).
Do you want to apply it? You can type
y -- to apply the local variables list.
n -- to ignore the local variables list.
! -- to apply the local variables list, and
permanently mark these
values (*) as safe (in the future, they will
be set automatically.)
* Syntax : Common-Lisp
これは該当Lispファイルの一行目に、
-*- Mode: Lisp; Syntax: Common-Lisp -*-
を書いているからだろう。この行のことを「mode line」と言うのかと思っていたら、正確には「mode specification」なんですね。「mode line」はmini bufferの上にあるやつのこと。Redshankもこれをmode lineと読んでいるから、結構用語が混乱しているのかも。
mode specification を info で調べて整理しよう。形式は、
-*- mode: MODENAME; VAR: VALUE; ... -*-
であり、VAR VALUEの組は、File Variablesと呼ぶものだ。これはこのファイルが読み込まれる際に自動的に解釈されてそのbufferのローカル変数となる。
さて、info の Emacs に 57.3.4.2 Safety of File Variables としてまさに疑問に答える節があった。これによると、
- Emacsは、variable/value pairs について、safe なもの risky なもの、というようにグループ分けしている。
- それによって、上記の確認画面が出たり出なかったりと制御している。
- その制御は、enable-local-variables enable-local-eval と safe-local-eval-forms によってカスタマイズできる。
というわけで、内容を確認した上で、"y"を入力すればいいだけですね。
こつこつ。
0 件のコメント:
コメントを投稿