Next: , Previous: , Up: Fortran Indent   [Contents][Index]


26.14.2.2 継続行

ほとんどのFortran77コンパイラーは、2つの方法で継続行を記述します。ある行の最初の非スペース文字が列5の場合、その行は前の行の継続行です。これを固定形式(fixed form)と呼びます。(GNU Emacsでは常に列は0から数えますが、Fortran標準では列1から数えることに注意してください)。変数fortran-continuation-stringは、列5に配す文字を指定します。タブ文字で開始され、その後‘0’以外の任意の数字が記述された行も継続行です。この継続スタイルをタブ形式(tab format)と呼びます(Fortran 90では、“自由形式(free form)”という、他の継続行スタイルが導入されました)。

Fortranモードは、どちらの継続行スタイルも使用できます。Fortranモードに入ったとき、バッファー内容から、自動的に適切な継続行スタイルを推論しようと試みます。これはバッファーの開始から、fortran-analyze-depth行(デフォルトは100)をスキャンすることにより行われます。最初の行の開始がタブ文字か、6個のスペースかで選択が決定されます。スキャンが失敗した場合(たとえば、新しいバッファーで中身が空の場合)、fortran-tab-mode-defaultの値(nilの場合は固定形式で、非nilの場合はタブ形式)が使用されます。モードラインに‘/t’ (fortran-tab-mode-string)が表示されている場合、タブ形式が選択されていることを示します。それに応じてFortranモードはindent-tabs-modeの値をセットします。

行のテキストがFortranの継続マーカー‘$’で始まるか、列5の非空白文字で始まる場合、Fortranモードはそれを継続行として扱います。継続行をTABでインデントした場合、その行をカレントの継続スタイルに変換します。Fortran命令文をC-M-jで分割した場合、継続スタイルに応じた継続マーカーがある新しい行が作成されます。

継続スタイルのセッティングは、Fortranモードでの編集の他の側面に影響します。固定形式の場合、命令文の最小列は6になります。Fortranブロック内でそれより大きい列にインデントされる行には、空白文字としてスペース文字だけを使用しなければなりません。タブ形式では、命令文の最小列は8で、列8より前の空白文字は1つのタブ文字でなければなりません。