f90-mode

f90-mode is an interactive compiled Lisp function in `f90.el'.


(f90-mode)

Parent mode: `prog-mode'.

Major mode for editing Fortran 90,95 code in free format.
For fixed format code, use `fortran-mode'.

M-x f90-indent-line indents the current line.
M-x f90-indent-new-line indents current line and creates a new indented line.
M-x f90-indent-subprogram indents the current subprogram.

Type `? or `C-h to display a list of built-in abbrevs for F90 keywords.

Key definitions:
key binding
--- -------

C-c Prefix Command
C-j f90-indent-new-line
ESC Prefix Command
* .. - f90-electric-insert
/ f90-electric-insert
` f90-abbrev-start

C-M-a f90-beginning-of-subprogram
C-M-e f90-end-of-subprogram
C-M-h f90-mark-subprogram
C-M-n f90-end-of-block
C-M-p f90-beginning-of-block
C-M-q f90-indent-subprogram

C-c C-a f90-previous-block
C-c C-d f90-join-lines
C-c C-e f90-next-block
C-c C-f f90-fill-region
C-c RET f90-break-line
C-c C-n f90-next-statement
C-c C-p f90-previous-statement
C-c C-w f90-insert-end
C-c ; f90-comment-region
C-c ] f90-insert-end



Variables controlling indentation style and extra features:

`f90-do-indent'
Extra indentation within do blocks (default 3).
`f90-if-indent'
Extra indentation within if/select/where/forall blocks (default 3).
`f90-type-indent'
Extra indentation within type/enum/interface/block-data blocks (default 3).
`f90-program-indent'
Extra indentation within program/module/subroutine/function blocks
(default 2).
`f90-associate-indent'
Extra indentation within associate blocks (default 2).
`f90-critical-indent'
Extra indentation within critical/block blocks (default 2).
`f90-continuation-indent'
Extra indentation applied to continuation lines (default 5).
`f90-comment-region'
String inserted by function M-x f90-comment-region at start of each
line in region (default "!!!$").
`f90-indented-comment-re'
Regexp determining the type of comment to be intended like code
(default "!").
`f90-directive-comment-re'
Regexp of comment-like directive like "!HPF\\$", not to be indented
(default "!hpf\\$").
`f90-break-delimiters'
Regexp holding list of delimiters at which lines may be broken
(default "[-+*/><=,% \t]").
`f90-break-before-delimiters'
Non-nil causes `f90-do-auto-fill' to break lines before delimiters
(default t).
`f90-beginning-ampersand'
Automatic insertion of & at beginning of continuation lines (default t).
`f90-smart-end'
From an END statement, check and fill the end using matching block start.
Allowed values are `blink', `no-blink', and nil, which determine
whether to blink the matching beginning (default `blink').
`f90-auto-keyword-case'
Automatic change of case of keywords (default nil).
The possibilities are `downcase-word', `upcase-word', `capitalize-word'.
`f90-leave-line-no'
Do not left-justify line numbers (default nil).

Turning on F90 mode calls the value of the variable `f90-mode-hook'
with no args, if that value is non-nil.