‘*compilation*’バッファは、 コンパイル(compilation)モードと呼ばれる特別なメジャーモードになります。 このモードの主な機能は、エラーが起きたソース行を簡単に参照できることです。
grep
のつぎの一致に
対応する箇所を訪れる。
‘*compilation*’でエラーメッセージにポイントを持っていって
<RET>(compile-goto-error
)を打鍵すれば、
そのエラーの原因となったソースを訪問できます。
あるいは、エラーメッセージをMouse-2でクリックしますが、
このときは、あらかじめ‘*compilation*’バッファに
切り替えておく必要はありません。
コンパイラのエラーメッセージを順番に解析するには、
C-x `(next-error
)と打鍵します。
C-xに続く文字は、シングルクォートではなく
バッククォート、すなわち、『アクサングレーブ』です。
このコマンドは‘*compilation*’だけでなく、
すべてのバッファで使用可能です。
このコマンドは、一方のウィンドウの先頭にエラーメッセージを表示し、
別のウィンドウにエラーとなったソースコードを表示します。
コンパイル開始後に最初にC-x `を使うと、 最初のエラー箇所に移動します。 続けてC-x `を実行すると、次々にエラー箇所に移動していきます。 <RET>やMouse-2で特定のエラー箇所に移動したあとに C-x `コマンドを実行すると、その場所のつぎのエラー箇所に移動します。 バッファの末尾に到達してもうエラーメッセージがないと、 C-x `コマンドは失敗し、エラーを通知します。
C-u C-x `は、コンパイルバッファの先頭から解析を始めます。 コンパイルをやり直さずに一連のエラーの解析をもう一度行う方法の1つです。
コンパイル(compilation)モードでは、 <SPC>キーと<DEL>キーを1画面分のスクロールに、 M-nとM-pを1つつぎ/まえのエラーメッセージへの移動に再定義します。 また、別のソースファイルのエラーメッセージへの移動には、 M-{とM-}コマンドを使えます。
コンパイル(compilation)モードの機能は、 コンパイルマイナ(compilation-minor)モードと呼ばれるマイナモードでも 使えます。 これにより、普通のコンパイルバッファだけでなく任意のバッファ内の エラーメッセージを解析できます。 このマイナモードをオンにするには、 M-x compilation-minor-modeと打鍵します。 すると、メジャーモードのコンパイル(compilation)モードと同様に <RET>キーとMouse-2を定義します。
バッファの内容が認識できる形式である限り、 コンパイルマイナ(compilation-minor)モードは任意のバッファで動作します。 rloginバッファ(see Remote Host)では、 コンパイルマイナ(compilation-minor)モードは リモートのソースファイルをFTPで自動的に取ってきます(see File Names)。