次: , 前: Fortran Indent, 上: Fortran


20.16.3 Fortranのコメント

Emacsの通常のコメント用コマンドは、コメントをコードのあとにも置けると仮定します。 Fortranでは、標準的なコメントの構文は、1つの行全体を必要とします。 そのため、Fortranモードでは、 Emacsの通常のコメント用コマンドを置き換え、新たな変数をいくつか定義しています。

Fortranモードでは、文字`!'で始まり他のテキストのあとにも置ける 非標準的なコメントの構文も扱えます。 しかし、この構文を受け付けるFortranコンパイラは限られるため、 まえもって指定しておかない限り、 Fortranモードは非標準のコメントを使いません。 このスタイルのコメントを使うには、 変数comment-startに`"!"'を設定します(see Variables)。

M-;
コメントの位置を揃えたり、新たなコメントを挿入する (fortran-indent-comment)。
C-x ;
非標準の`!'コメントだけに作用する。
C-c ;
リージョン内のすべての行をコメントにする。 あるいは、(引数を指定すると)コメントをコードに戻す (fortran-comment-region)。

FortranモードのM-;は、 コマンドfortran-indent-commentに再定義されています。 通常のM-;と同じく、既存のコメントを認識して、 そのテキストの桁位置を揃えます。 コメントがなければ、コメントを挿入して桁位置を揃えます。 しかし、Fortranモードのコメントの挿入と揃え方は、 他のモードと同じではありません。

新たにコメントを挿入する場合、 現在行が空行のときは(1行全体を占める)行コメントを挿入します。 空行でないとき、非標準のコメントを使うように指定してあれば 非標準の`!'コメントを挿入します。 いずれでもないときには、現在行のまえに行コメントを挿入します。

非標準の`!'コメントは他の言語のコメントと同じように揃えられますが、 行コメントの場合はようすが異なります。 標準の行コメントでは、コメント区切りはつねに0桁目にある必要があります。 コメント内部のテキストだけを揃えます。 fortran-comment-indent-styleを設定して、 3種類の揃え方を選べます。

fixed
fortran-comment-line-extra-indentと文に対する最小字下げ幅を合計し た桁位置にテキストを揃える。 デフォルトはこれ。

文の最小字下げ幅は、 固定フォーマットの継続行スタイルの場合には fortran-minimum-statement-indent-fixedの値、 タブフォーマットの場合にはfortran-minimum-statement-indent-tabの値。

relative
コード行であるかのように揃えるが、 fortran-comment-line-extra-indentだけ余計に桁をずらす。
nil
行コメントのテキストを勝手に動かさない。

また、行コメントの字下げ文字を変更したければ、 変数fortran-comment-indent-charに好みの1文字を設定してください。

Fortranモードには、comment-line-startcomment-line-start-skipの2つの変数が新たに導入されています。 これらは、コードのあとに置く通常のコメントに対するcomment-startcomment-start-skipと同様の役割を、行コメントに対して果たします。 どちらもFortranモードが適切に設定するので、 変更する必要はありません。

Emacsの通常のコメント用コマンドC-x ;は、再定義されていません。 このコマンドは`!'コメントを扱えます。 `!'コメントを使っていない場合には、 このコマンドはFortranモードでは役に立ちません。

コマンドC-c ;fortran-comment-region)は、 リージョン内のすべての行の先頭に`C$$$'を挿入して コメントに変えます。 数引数を指定すると、行の先頭から`C$$$'を削除して、 リージョンを生きたコードに戻します。 これらのコメントに使う文字列は、 変数fortran-comment-regionの設定で制御できます。 ところで、ここではコマンドと変数に同じ名前が使われています。 LispやEmacsにおいては、使用される文脈から コマンドと変数をつねに区別できるので、 このような名前の使い方が問題を起こすことはありません。