近代的なほとんどのFortranコンパイラには、
継続行の記述方法が2つ用意されています。
ある行の空白でない最初の文字が5桁目にあれば、先行する行の継続行です。
このスタイルを固定フォーマットと呼びます。
(GNU Emacsでは、桁位置はつねに0から数える。)
変数fortran-continuation-string
は、5桁目に置く文字を指定します。
タブ文字で始まり‘0’以外の数字が続く行も継続行です。
このスタイルをタブフォーマットと呼びます。
Fortranモードではどちらのスタイルの継続行も利用できますが、
希望するほうを指定する必要があります。
変数indent-tabs-mode
の値で希望を指定します。
nil
ならば固定フォーマット、
nil
以外ならばタブフォーマットになります。
モード行に文字列‘Tab’があるかどうかで、
現在使用しているスタイルがわかります。
Fortranモードでは、テキストが慣用的なFortranの継続マーク‘$’で始まる、 あるいは、 5桁目から白文字以外の文字で始まる場合には、その行を継続行として扱います。 <TAB>で継続行を字下げすると、 選択されている継続行のスタイルに変換します。 C-M-jでFortranの文を分割すると、 継続行のスタイルに応じて新たな行には継続マークを付けます。
継続行のスタイルは、Fortranモードでの編集に関わる その他の側面にも影響します。 固定フォーマットでは、文本体を置く最小桁位置は6になります。 Fortranのブロックの内側にある行を7桁目以降に字下げするときには、 白文字には空白文字を使います。 一方、タブフォーマットでは、文本体を置く最小桁位置は8で、 8桁目よりまえの白文字はつねにタブ文字です。
既存のファイルに対してFortranモードに入ると、
その内容から自動的に適切な継続行のスタイルを推測しようとします。
タブ文字か空白6個で始まる最初の行でスタイルを判断します。
変数fortran-analyze-depth
で、
(ファイルの先頭から)何行分をスタイル判断に使用するか指定します。
この範囲内にスタイルを示すような行がみつからなければ、
変数fortran-tab-mode-default
がスタイルを指定します。
nil
なら固定フォーマット、nil
以外ならタブフォーマットです。