4

kill-emacs-hookemacsマニュアルの変数について読んでいます。それは言います:

kill-emacs-hook「C ソース コード」で定義されている変数です。
その値は
(org-babel-remove-temporary-directory migemo-pattern-alist-save)

この変数は、ファイルのローカル変数として使用すると潜在的に危険です。

ドキュメント: ` ' が呼び出され
たときに実行されるフック。 ...略...kill-emacs

「ファイルのローカル変数」という文がわかりません。この「ファイルローカル変数」とはどういう意味ですか?

4

2 に答える 2

4

Emacs には、ファイルの内容でバッファ変数を指定する機能があります。http://www.gnu.org/software/emacs/manual/html_node/emacs/Specifying-File-Variables.html#Specifying-File-Variables

これは、ファイルのモード-*- python -*-や、優先するインデント スタイルやタブ幅などを指定するためによく使用されます。ただし、許可すれば、ファイルの作成者が Emacs を完全に制御できる可能性があります。ただし、安全でないと見なされる変数の場合、既定の動作では、設定を有効にする前にユーザーに確認を求めます。詳細については、マニュアルを参照してください。

于 2012-08-29T14:44:47.073 に答える
2

デフォルトではsetq、値を持つ変数を設定すると、グローバルになります。これは、すべてのバッファが新しい値を見ることを意味します。

ただし、バッファー ローカル変数と呼ばれる特定の変数は、動作が異なります。バッファ ローカル変数が設定されると、その値は、setq発生したバッファに対してのみ変更されます。他のバッファーは変更を認識しません。

これらのバッファー ローカル変数は、バッファーが現在アクセスしているファイルの内容から値を取得できます。ファイルに適切にフォーマットされた文字列が含まれている場合 (@tripleee の回答を参照)、ファイルが開かれたときにバッファ ローカル変数がその値で初期化されます。

補足として、ディレクトリ内のファイルを訪問するすべてのバッファに対してバッファローカル変数を設定するディレクトリローカル変数も存在します。

于 2012-08-29T14:48:06.327 に答える