")
@end example
+ To help you catch violations of this convention, Font Lock mode
+highlights confusing opening delimiters (those that ought to be
+quoted) in bold red.
+
In the earliest days, the original Emacs found defuns by moving
upward a level of parentheses or braces until there were no more
levels to go up. This always required scanning all the way back to
@cindex buffer definitions index
@cindex tags
- The Imenu facility offers a way to find the the major definitions in
+ The Imenu facility offers a way to find the major definitions in
a file by name. It is also useful in text formatter major modes,
where it treats each chapter, section, etc., as a definition.
(@xref{Tags}, for a more powerful feature that handles multiple files
When you change the contents of a buffer, if you add or delete
definitions, you can update the buffer's index based on the
new contents by invoking the @samp{*Rescan*} item in the menu.
-Rescanning happens automatically you set @code{imenu-auto-rescan} to a
-non-@code{nil} value. There is no need to rescan because of small
+Rescanning happens automatically if you set @code{imenu-auto-rescan} to
+a non-@code{nil} value. There is no need to rescan because of small
changes in the text.
@vindex imenu-sort-function
@node Which Function
@subsection Which Function Mode
+@cindex current function name in mode line
Which Function mode is a minor mode that displays the current
function name in the mode line, updating it as you move around in a
@vindex lisp-body-indent
Certain functions override the standard pattern. Functions whose
-names start with @code{def} treat the the second lines as the start of
+names start with @code{def} treat the second lines as the start of
a @dfn{body}, by indenting the second line @code{lisp-body-indent}
additional columns beyond the open-parenthesis that starts the
expression.
+@cindex @code{lisp-indent-function} property
You can override the standard pattern in various ways for individual
functions, according to the @code{lisp-indent-function} property of the
function name. There are four possibilities for this property:
@cindex comments
Because comments are such an important part of programming, Emacs
-provides special commands for editing and inserting comments.
+provides special commands for editing and inserting comments. It can
+also do spell checking on comments with Flyspell Prog mode
+(@pxref{Spelling}).
@menu
* Comment Commands:: Inserting, killing, and indenting comments.
The value should be one of these four symbols.
@table @code
-@item block
-Open only blocks.
+@item code
+Open only code blocks.
@item comment
Open only comments.
@item t
-Open both blocks and comments.
+Open both code blocks and comments.
@item nil
-Open neither blocks nor comments.
+Open neither code blocks nor comments.
@end table
@item hs-special-modes-alist
@table @kbd
@item C-c :
+@ifinfo
+@c This uses ``colon'' instead of a literal `:' because Info cannot
+@c cope with a `:' in a menu
+@kindex C-c @key{colon} @r{(C mode)}
+@end ifinfo
+@ifnotinfo
@kindex C-c : @r{(C mode)}
+@end ifnotinfo
@findex c-scope-operator
Insert a double colon scope operator at point, without reindenting the
line or adding any newlines (@code{c-scope-operator}).
@cindex Fortran77 and Fortran90
@findex f90-mode
@findex fortran-mode
- Fortan mode is meant for editing Fortran77 ``fixed format'' source
+ Fortran mode is meant for editing Fortran77 ``fixed format'' source
code. For editing the modern Fortran90 ``free format'' source code,
use F90 mode (@code{f90-mode}). Emacs normally uses Fortran mode for
files with extension @samp{.f}, @samp{.F} or @samp{.for}, and F90 mode
@code{fortran-comment-indent-char} to the single-character string you want
to use.
+@vindex fortran-directive-re
+ Compiler directive lines, or preprocessor lines, have much the same
+appearance as comment lines. It is important, though, that such lines
+never be indented at all, no matter what the value of
+@code{fortran-comment-indent-style}. The variable
+@code{fortran-directive-re} is a regular expression that specifies which
+lines are directives. Matching lines are never indented, and receive
+distinctive font-locking.
+
@vindex comment-line-start
@vindex comment-line-start-skip
Fortran mode introduces two variables @code{comment-line-start} and