Next: , Previous: Grep Searching, Up: Building


21.3 コンパイルモード

*compilation*’バッファは、 コンパイル(compilation)モードと呼ばれる特別なメジャーモードになります。 このモードの主な機能は、エラーが起きたソース行を簡単に参照できることです。

C-x `
つぎのコンパイルエラーやgrepのつぎの一致に 対応する箇所を訪れる。
<RET>
ポイントが位置するエラーメッセージに対応する箇所を訪れる。 このコマンドは、コンパイルバッファで使う。
Mouse-2
マウスでクリックしたエラーメッセージに対応する箇所を訪れる。

*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-nM-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)。