defuns(Fortranのサブプログラム――関数やサブルーチン、およびF90モード用のモジュール。コマンド fortran-end-of-subprogram および fortran-beginning-of-subprogram
を使用)の移動や操作を行う通常のコマンドに加え、Fortranモードでは、ステートメントやその他のプログラム単位を移動するための専用コマンドが用意されています。
次の文の先頭に移動する (fortran-next-statement/f90-next-statement)。
直前のステートメント(fortran-previous-statement/f90-previous-statement)の先頭に移動します。直前のステートメントがない場合(すなわち、バッファ内の最初のステートメントから呼び出された場合)は、バッファの先頭に移動します。
ポイントを次のコードブロックの先頭、または現在のコードブロックの末尾のいずれか早い方へ移動します (f90-next-block)。コードブロックとは、サブルーチン、if–endif
文などを指します。このコマンドは F90 モード専用であり、Fortran
モードでは使用できません。数値引数を指定すると、その数だけブロック分移動します。
ポイントを前のブロック (f90-previous-block) まで戻します。これは f90-next-block と同様ですが、逆方向に移動します。
現在のコードブロック(fortran-end-of-block/f90-end-of-block)の末尾に移動します。数値引数を指定すると、その数だけブロック分前方に移動します。ポイントを移動する前にマークが設定されます。このコマンドのF90モード版では、ブロックタイプとラベル(存在する場合)の整合性を確認しますが、最外ブロックは不完全な可能性があるため、確認対象とはなりません。
現在のコードブロックの先頭(fortran-beginning-of-block/f90-beginning-of-block)に移動します。これはfortran-end-of-blockと同様ですが、逆方向に移動します。
コマンド fortran-beginning-of-subprogram と fortran-end-of-subprogram
は、それぞれ現在のサブプログラムの先頭または末尾に移動します。コマンド fortran-mark-do と fortran-mark-if は、現在の do または
if ブロックの末尾をマークし、ポイントを先頭に移動します。