@c This is part of the Emacs manual.
@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1999, 2000,
-@c 2001, 2005 Free Software Foundation, Inc.
+@c 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Programs, Building, Text, Top
@chapter Editing Programs
after the @samp{/*} itself, and accepts C++ style comments also.
(Note that @samp{\\} is needed in Lisp syntax to include a @samp{\} in
the string, which is needed to deny the first star its special meaning
-in regexp syntax. @xref{Regexps}.)
+in regexp syntax. @xref{Regexp Backslash}.)
@vindex comment-start
@vindex comment-end
function being called at point. (In other words, it finds the
function call that point is contained in, and displays the argument
list of that function.) If point is over a documented variable, it
-shows the variable's docstring. Eldoc mode applies in Emacs Lisp and
-Lisp Interaction modes only. Use the command @kbd{M-x eldoc-mode} to
-enable or disable this feature.
+shows the first line of the variable's docstring. Eldoc mode applies
+in Emacs Lisp and Lisp Interaction modes, and perhaps a few others
+that provide special support for looking up doc strings. Use the
+command @kbd{M-x eldoc-mode} to enable or disable this feature.
@node Hideshow
@section Hideshow minor mode
In addition to the normal commands for moving by and operating on
``defuns'' (Fortran subprograms---functions and subroutines, as well as
modules for F90 mode), Fortran mode provides special commands to move by
-statements.
+statements and other program units.
@table @kbd
@kindex C-c C-n @r{(Fortran mode)}
(@code{f90-previous-block}). This is like @code{f90-next-block}, but
moves backwards.
-@kindex C-M-n @r{(F90 mode)}
+@kindex C-M-n @r{(Fortran mode)}
+@findex fortran-end-of-block
@findex f90-end-of-block
@item C-M-n
-Move to the end of the current code block (@code{f90-end-of-block}).
-This is for F90 mode only. With a numeric agument, move forward that
-number of blocks. This command checks for consistency of block types
-and labels (if present), but it does not check the outermost block
-since that may be incomplete. The mark is set before moving point.
-
-@kindex C-M-p @r{(F90 mode)}
+Move to the end of the current code block
+(@code{fortran-end-of-block}/@code{f90-end-of-block}). With a numeric
+agument, move forward that number of blocks. The mark is set before
+moving point. The F90 mode version of this command checks for
+consistency of block types and labels (if present), but it does not
+check the outermost block since that may be incomplete.
+
+@kindex C-M-p @r{(Fortran mode)}
+@findex fortran-beginning-of-block
@findex f90-beginning-of-block
@item C-M-p
Move to the start of the current code block
-(@code{f90-beginning-of-block}). This is like @code{f90-end-of-block},
-but moves backwards.
+(@code{fortran-beginning-of-block}/@code{f90-beginning-of-block}). This
+is like @code{fortran-end-of-block}, but moves backwards.
@end table
@node Fortran Indent
@vindex indent-tabs-mode @r{(Fortran mode)}
@vindex fortran-analyze-depth
@vindex fortran-tab-mode-default
-@vindex fortran-tab-mode-string
Fortran mode can use either style of continuation line. When you
enter Fortran mode, it tries to deduce the proper continuation style
automatically from the buffer contents. It does this by scanning up to
spaces determines the choice. If the scan fails (for example, if the
buffer is new and therefore empty), the value of
@code{fortran-tab-mode-default} (@code{nil} for fixed format, and
-non-@code{nil} for tab format) is used. You can tell which style is
-presently in effect by the presence or absence of the string specified
-by @code{fortran-tab-mode-string} (default @samp{/t}) in the mode line.
-Fortran mode sets the value of @code{indent-tabs-mode} accordingly
-(@pxref{Just Spaces}).
+non-@code{nil} for tab format) is used. @samp{/t} in the mode line
+indicates tab format is selected. Fortran mode sets the value of
+@code{indent-tabs-mode} accordingly (@pxref{Just Spaces}).
-@vindex fortran-continuation-string
If the text on a line starts with the Fortran continuation marker
-specified by @code{fortran-continuation-string} (conventionally
-@samp{$}), or if it begins with any non-whitespace character in column
+@samp{$}, or if it begins with any non-whitespace character in column
5, Fortran mode treats it as a continuation line. When you indent a
continuation line with @key{TAB}, it converts the line to the current
continuation style. When you split a Fortran statement with
Simply inserting a line number is enough to indent it according to
these rules. As each digit is inserted, the indentation is recomputed.
To turn off this feature, set the variable
-@code{fortran-electric-line-number} to @code{nil}.
+@code{fortran-electric-line-number} to @code{nil}.
@node ForIndent Conv
Extra indentation within each level of @samp{do} statement (default 3).
@item fortran-if-indent
-Extra indentation within each level of @samp{if} statement (default 3).
+Extra indentation within each level of @samp{if}, @samp{select case}, or
+@samp{where} statements (default 3).
@item fortran-structure-indent
Extra indentation within each level of @samp{structure}, @samp{union},
@end table
The variables controlling the indentation of comments are described in
-a separate section (@pxref{Fortran Comments}).
-
+the following section.
@node Fortran Comments
@subsection Fortran Comments
@vindex fortran-break-before-delimiters
Auto Fill breaks lines at spaces or delimiters when the lines get
longer than the desired width (the value of @code{fill-column}). The
-delimiters (besides whitespace) that Auto Fill may break at are
+delimiters (besides whitespace) that Auto Fill can break at are
@samp{+}, @samp{-}, @samp{/}, @samp{*}, @samp{=}, @samp{<}, @samp{>},
-and @samp{,}. The line break comes after the delimiter if the variable
-@code{fortran-break-before-delimiters} is @code{nil}. Otherwise (and by
-default), the break comes before the delimiter.
+and @samp{,}. The line break comes after the delimiter if the
+variable @code{fortran-break-before-delimiters} is @code{nil}.
+Otherwise (and by default), the break comes before the delimiter.
To enable Auto Fill in all Fortran buffers, add
@code{turn-on-auto-fill} to @code{fortran-mode-hook}. @xref{Hooks}.