Function: fundamental-mode
これは、(特に)何かのために特殊化されているということのない、メジャーモード です。他のメジャーモードは、これとの比較で定義されます。
Function: normal-mode &optional find-file
バッファ用のメジャーモードを(自動的に)選びます。モードは visit されるファ イルの名前と `-*-' 行から定められます。これはまた、(hack-local-variable を 用い)そのファイルの (特別な)ローカル変数を設定します。
この関数は、find-file から(自動的に)呼ばれます。この場合、inhabit-local- variable が non-nil である場合、ローカル変数リストの処理を行なう前に確認を 要求します。 normal-mode を明示的に走らせる場合、確認は要求しません。 normal-mode はこれを行なうため set-auto-mode を呼びます。
Function: set-auto-mode
カレントバッファに適するモードを選びます。これは visit されたファイルの名 前(変数 auto-mode-alist 参照) かバッファの内容 (`-*-' 行もしくはローカル変 数指示) をもとに判断します。しかし、ローカル変数 mode を探すことはしませ
ん。それには hack-local-variables を用います。
User Option: default-major-mode
この変数は、(新しい)バッファに対するデフォルトのメジャーモードを持ちます。 標準値は fundamental-mode です。 nil の値は、カレントバッファのメジャー モードを新しいバッファのメジャーモードとして用いることを意味します。
Variable: automode-alist
この変数は、ファイル名パターンと(それに対する) メジャーモード関数との association リストを持ちます。各要素は (regexp . function) の形をしていま す。 regexp にマッチするフルパス名のファイルを visit すると function が呼 ばれます。以下に、いくつかのパターンの pair を用意する例を示します。
(setq auto-mode-alist (append '(("/\\.[^/]*$" . fundamental-mode) ;ドットで始まるファイル名 ("[^\\./]*$" . fundamental-mode) ;ドットを含まないファイル名 ("\\.C$" . c++-mode)) auto-mode-alist))