Add .info extension to @setfilename commands in doc/
[bpt/emacs.git] / doc / misc / cc-mode.texi
index 031abba..74e3485 100644 (file)
@@ -81,8 +81,9 @@ the second with them pointing to the XEmacs manuals.
 @comment No overfull hbox marks in the dvi file.
 @finalout
 
 @comment No overfull hbox marks in the dvi file.
 @finalout
 
-@setfilename  ../../info/ccmode
+@setfilename  ../../info/ccmode.info
 @settitle     CC Mode Manual
 @settitle     CC Mode Manual
+@documentencoding UTF-8
 @footnotestyle end
 
 @c The following four macros generate the filenames and titles of the
 @footnotestyle end
 
 @c The following four macros generate the filenames and titles of the
@@ -156,13 +157,13 @@ CC Mode
 @copying
 This manual is for CC Mode in Emacs.
 
 @copying
 This manual is for CC Mode in Emacs.
 
-Copyright @copyright{} 1995-2012 Free Software Foundation, Inc.
+Copyright @copyright{} 1995--2014 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
 any later version published by the Free Software Foundation; with no
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
 any later version published by the Free Software Foundation; with no
-Invariant Sections, with the Front-Cover texts being ``A GNU Manual'',
+Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'',
 and with the Back-Cover Texts as in (a) below.  A copy of the license
 is included in the section entitled ``GNU Free Documentation License''.
 
 and with the Back-Cover Texts as in (a) below.  A copy of the license
 is included in the section entitled ``GNU Free Documentation License''.
 
@@ -176,7 +177,7 @@ modify this GNU manual.''
 @dircategory Emacs editing modes
 @direntry
 * CC Mode: (ccmode).            Emacs mode for editing C, C++, Objective-C,
 @dircategory Emacs editing modes
 @direntry
 * CC Mode: (ccmode).            Emacs mode for editing C, C++, Objective-C,
-                                Java, Pike, AWK, and CORBA IDL code.
+                                  Java, Pike, AWK, and CORBA IDL code.
 @end direntry
 
 @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 @end direntry
 
 @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -188,7 +189,7 @@ modify this GNU manual.''
 
 @center @titlefont{CC Mode 5.32}
 @sp 2
 
 @center @titlefont{CC Mode 5.32}
 @sp 2
-@center @subtitlefont{A GNU Emacs mode for editing C and C-like languages}
+@center A GNU Emacs mode for editing C and C-like languages
 @sp 2
 @center Barry A. Warsaw, Martin Stjernholm, Alan Mackenzie
 
 @sp 2
 @center Barry A. Warsaw, Martin Stjernholm, Alan Mackenzie
 
@@ -219,7 +220,7 @@ Objective-C, Java, CORBA IDL (and the variants PSDL and CIDL), Pike
 and AWK code.  It provides syntax-based indentation, font locking, and
 has several handy commands and some minor modes to make the editing
 easier.  It does not provide tools to look up and navigate between
 and AWK code.  It provides syntax-based indentation, font locking, and
 has several handy commands and some minor modes to make the editing
 easier.  It does not provide tools to look up and navigate between
-functions, classes etc - there are other packages for that.
+functions, classes, etc.; there are other packages for that.
 
 @insertcopying
 @end ifnottex
 
 @insertcopying
 @end ifnottex
@@ -241,7 +242,7 @@ functions, classes etc - there are other packages for that.
 * Customizing Indentation::
 * Custom Macros::
 * Odds and Ends::
 * Customizing Indentation::
 * Custom Macros::
 * Odds and Ends::
-* Sample .emacs File::
+* Sample Init File::
 * Performance Issues::
 * Limitations and Known Bugs::
 * FAQ::
 * Performance Issues::
 * Limitations and Known Bugs::
 * FAQ::
@@ -369,7 +370,7 @@ Late in 1997, Martin Stjernholm joined Barry on the @ccmode{}
 Maintainers Team, and implemented the Pike support.  In 2000 Martin
 took over as the sole maintainer.  In 2001 Alan Mackenzie joined the
 team, implementing AWK support in version 5.30.  @ccmode{} did not
 Maintainers Team, and implemented the Pike support.  In 2000 Martin
 took over as the sole maintainer.  In 2001 Alan Mackenzie joined the
 team, implementing AWK support in version 5.30.  @ccmode{} did not
-originally contain the font lock support for its languages --- that
+originally contain the font lock support for its languages; that
 was added in version 5.30.
 
 This manual describes @ccmode{}
 was added in version 5.30.
 
 This manual describes @ccmode{}
@@ -441,7 +442,7 @@ increasing detail.
 @itemize @bullet
 @item
 The chapter ``Configuration Basics'' tells you @emph{how} to write
 @itemize @bullet
 @item
 The chapter ``Configuration Basics'' tells you @emph{how} to write
-customizations - whether in hooks, in styles, in both, or in neither,
+customizations: whether in hooks, in styles, in both, or in neither,
 depending on your needs.  It describes the @ccmode{} style system and
 lists the standard styles that @ccmode{} supplies.
 
 depending on your needs.  It describes the @ccmode{} style system and
 lists the standard styles that @ccmode{} supplies.
 
@@ -468,7 +469,7 @@ The FAQ contains a list of common problems and questions.
 
 @item
 The next two chapters tell you how to get in touch with the @ccmode{}
 
 @item
 The next two chapters tell you how to get in touch with the @ccmode{}
-project - whether for updating @ccmode{} or submitting bug reports.
+project: whether for updating @ccmode{} or submitting bug reports.
 @end itemize
 
 @noindent
 @end itemize
 
 @noindent
@@ -715,7 +716,7 @@ current line.
 When it is @code{nil}, @key{TAB} (re)indents the line only if point is
 to the left of the first non-whitespace character on the line.
 Otherwise it inserts some whitespace (a tab or an equivalent number of
 When it is @code{nil}, @key{TAB} (re)indents the line only if point is
 to the left of the first non-whitespace character on the line.
 Otherwise it inserts some whitespace (a tab or an equivalent number of
-spaces - see below) at point.
+spaces; see below) at point.
 @item
 With some other value, the line is reindented.  Additionally, if point
 is within a string or comment, some whitespace is inserted.
 @item
 With some other value, the line is reindented.  Additionally, if point
 is within a string or comment, some whitespace is inserted.
@@ -750,12 +751,6 @@ very useful in this case.
 @end itemize
 
 @table @asis
 @end itemize
 
 @table @asis
-@item @kbd{C-j} (@code{newline-and-indent})
-@kindex C-j
-@findex newline-and-indent
-Inserts a newline and indents the new blank line, ready to start
-typing.  This is a standard (X)Emacs command.
-
 @item @kbd{C-M-q} (@code{c-indent-exp})
 @kindex C-M-q
 @findex c-indent-exp
 @item @kbd{C-M-q} (@code{c-indent-exp})
 @kindex C-M-q
 @findex c-indent-exp
@@ -820,10 +815,10 @@ often (in seconds) progress messages are to be displayed.
 @kindex C-c C-c
 @findex comment-region
 This command comments out the lines that start in the region.  With a
 @kindex C-c C-c
 @findex comment-region
 This command comments out the lines that start in the region.  With a
-negative argument, it does the opposite - it deletes the comment
+negative argument, it does the opposite: it deletes the comment
 delimiters from these lines.  @xref{Multi-Line Comments,,, emacs, GNU
 Emacs Manual}, for fuller details.  @code{comment-region} isn't
 delimiters from these lines.  @xref{Multi-Line Comments,,, emacs, GNU
 Emacs Manual}, for fuller details.  @code{comment-region} isn't
-actually part of @ccmode{} - it is given a @ccmode{} binding for
+actually part of @ccmode{}; it is given a @ccmode{} binding for
 convenience.
 
 @item @kbd{M-;} (@code{comment-dwim} or @code{indent-for-comment} @footnote{The name of this command varies between (X)Emacs versions.})
 convenience.
 
 @item @kbd{M-;} (@code{comment-dwim} or @code{indent-for-comment} @footnote{The name of this command varies between (X)Emacs versions.})
@@ -1113,7 +1108,7 @@ valid.}.
 This function is not bound to a key by default, but it's intended to be
 used on the @kbd{RET} key.  If you like the behavior of
 @code{newline-and-indent} on @kbd{RET}, you should consider switching to
 This function is not bound to a key by default, but it's intended to be
 used on the @kbd{RET} key.  If you like the behavior of
 @code{newline-and-indent} on @kbd{RET}, you should consider switching to
-this function.  @xref{Sample .emacs File}.
+this function.  @xref{Sample Init File}.
 
 @item @kbd{M-x c-context-open-line}
 @findex c-context-open-line
 
 @item @kbd{M-x c-context-open-line}
 @findex c-context-open-line
@@ -1147,7 +1142,7 @@ them yourself, e.g., after typing @samp{@}}s.  Its action is suppressed
 when electric mode is disabled.
 @item hungry-delete mode
 This lets you delete a contiguous block of whitespace with a single
 when electric mode is disabled.
 @item hungry-delete mode
 This lets you delete a contiguous block of whitespace with a single
-key - for example, the newline and indentation just inserted by
+key: for example, the newline and indentation just inserted by
 auto-newline when you want to back up and write a comment after the
 last statement.
 @item subword mode
 auto-newline when you want to back up and write a comment after the
 last statement.
 @item subword mode
@@ -1170,13 +1165,13 @@ and @ref{Indentation Engine Basics}.
 
 You can toggle each of these minor modes on and off, and you can
 configure @ccmode{} so that it starts up with your favorite
 
 You can toggle each of these minor modes on and off, and you can
 configure @ccmode{} so that it starts up with your favorite
-combination of them (@pxref{Sample .emacs File}).  By default, when
+combination of them (@pxref{Sample Init File}).  By default, when
 you initialize a buffer, electric mode and syntactic-indentation mode
 you initialize a buffer, electric mode and syntactic-indentation mode
-are enabled but the other two modes are disabled.
+are enabled but the other three modes are disabled.
 
 @ccmode{} displays the current state of the first four of these minor
 modes on the modeline by appending letters to the major mode's name,
 
 @ccmode{} displays the current state of the first four of these minor
 modes on the modeline by appending letters to the major mode's name,
-one letter for each enabled minor mode - @samp{l} for electric mode,
+one letter for each enabled minor mode: @samp{l} for electric mode,
 @samp{a} for auto-newline mode, @samp{h} for hungry delete mode, and
 @samp{w} for subword mode.  If all these modes were enabled, you'd see
 @samp{C/lahw}@footnote{The @samp{C} would be replaced with the name of
 @samp{a} for auto-newline mode, @samp{h} for hungry delete mode, and
 @samp{w} for subword mode.  If all these modes were enabled, you'd see
 @samp{C/lahw}@footnote{The @samp{C} would be replaced with the name of
@@ -1234,7 +1229,7 @@ turn it (or them) off.
 @cindex electric characters
 @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
 @cindex electric characters
 @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
-Most punctuation keys provide @dfn{electric} behavior - as well as
+Most punctuation keys provide @dfn{electric} behavior: as well as
 inserting themselves they perform some other action, such as
 reindenting the line.  This reindentation saves you from having to
 reindent a line manually after typing, say, a @samp{@}}.  A few
 inserting themselves they perform some other action, such as
 reindenting the line.  This reindentation saves you from having to
 reindent a line manually after typing, say, a @samp{@}}.  A few
@@ -2101,7 +2096,7 @@ initialization and the result is prepended.  For an example, see
 @code{javadoc-font-lock-keywords} in @file{cc-fonts.el}.
 
 If you add support for another doc comment style, please consider
 @code{javadoc-font-lock-keywords} in @file{cc-fonts.el}.
 
 If you add support for another doc comment style, please consider
-contributing it - send a note to @email{bug-cc-mode@@gnu.org}.
+contributing it: send a note to @email{bug-cc-mode@@gnu.org}.
 
 
 @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
 
 @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -2111,7 +2106,7 @@ contributing it - send a note to @email{bug-cc-mode@@gnu.org}.
 @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
 The general appearance of font-locking in AWK mode is much like in any
 @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
 The general appearance of font-locking in AWK mode is much like in any
-other programming mode.  @xref{Faces For Font Lock,,,elisp, GNU Emacs
+other programming mode.  @xref{Faces for Font Lock,,,elisp, GNU Emacs
 Lisp Reference Manual}.
 
 The following faces are, however, used in a non-standard fashion in
 Lisp Reference Manual}.
 
 The following faces are, however, used in a non-standard fashion in
@@ -2249,7 +2244,7 @@ more sophisticated facilities, hooks and styles.
 An Emacs @dfn{hook} is a place to put Lisp functions that you want
 Emacs to execute later in specific circumstances.
 @xref{Hooks,,,@lispref{}, @lispreftitle{}}.  @ccmode{} supplies a main
 An Emacs @dfn{hook} is a place to put Lisp functions that you want
 Emacs to execute later in specific circumstances.
 @xref{Hooks,,,@lispref{}, @lispreftitle{}}.  @ccmode{} supplies a main
-hook and a language-specific hook for each language it supports - any
+hook and a language-specific hook for each language it supports; any
 functions you put onto these hooks get executed as the last part of a
 buffer's initialization.  Typically you put most of your customization
 within the main hook, and use the language-specific hooks to vary the
 functions you put onto these hooks get executed as the last part of a
 buffer's initialization.  Typically you put most of your customization
 within the main hook, and use the language-specific hooks to vary the
@@ -2378,7 +2373,7 @@ those set by @code{c-default-style}.
 @vindex initialization-hook (c-)
 Hook run only once per Emacs session, when @ccmode{} is initialized.
 This is a good place to change key bindings (or add new ones) in any
 @vindex initialization-hook (c-)
 Hook run only once per Emacs session, when @ccmode{} is initialized.
 This is a good place to change key bindings (or add new ones) in any
-of the @ccmode{} key maps.  @xref{Sample .emacs File}.
+of the @ccmode{} key maps.  @xref{Sample Init File}.
 @end defvar
 
 @defvar c-mode-common-hook
 @end defvar
 
 @defvar c-mode-common-hook
@@ -2406,7 +2401,7 @@ overwritten when @ccmode{} gets loaded.
 Here's a simplified example of what you can add to your @file{.emacs}
 file to do things whenever any @ccmode{} language is edited.  See the
 Emacs manuals for more information on customizing Emacs via hooks.
 Here's a simplified example of what you can add to your @file{.emacs}
 file to do things whenever any @ccmode{} language is edited.  See the
 Emacs manuals for more information on customizing Emacs via hooks.
-@xref{Sample .emacs File}, for a more complete sample @file{.emacs}
+@xref{Sample Init File}, for a more complete sample @file{.emacs}
 file.
 
 @example
 file.
 
 @example
@@ -2683,9 +2678,9 @@ string.
 If none of the built-in styles is appropriate, you'll probably want to
 create a new @dfn{style definition}, possibly based on an existing
 style.  To do this, put the new style's settings into a list with the
 If none of the built-in styles is appropriate, you'll probably want to
 create a new @dfn{style definition}, possibly based on an existing
 style.  To do this, put the new style's settings into a list with the
-following format - the list can then be passed as an argument to the
+following format; the list can then be passed as an argument to the
 function @code{c-add-style}.  You can see an example of a style
 function @code{c-add-style}.  You can see an example of a style
-definition in @ref{Sample .emacs File}.
+definition in @ref{Sample Init File}.
 
 @cindex style definition
 @c @defvr {List} style definition
 
 @cindex style definition
 @c @defvr {List} style definition
@@ -2753,7 +2748,7 @@ deprecated and it might be removed from @ccmode{} in a future release.
 You should use @code{c-set-style} instead.
 
 The sample @file{.emacs} file provides a concrete example of how a new
 You should use @code{c-set-style} instead.
 
 The sample @file{.emacs} file provides a concrete example of how a new
-style can be added and automatically set.  @xref{Sample .emacs File}.
+style can be added and automatically set.  @xref{Sample Init File}.
 @end defun
 
 @defvar c-style-alist
 @end defun
 
 @defvar c-style-alist
@@ -3166,7 +3161,7 @@ different ways, depending on the character just typed:
 @item Braces and Colons
 @ccmode{} first determines the syntactic context of the brace or colon
 (@pxref{Syntactic Symbols}), then looks for a corresponding element in
 @item Braces and Colons
 @ccmode{} first determines the syntactic context of the brace or colon
 (@pxref{Syntactic Symbols}), then looks for a corresponding element in
-an alist.  This element specifies where to put newlines - this is any
+an alist.  This element specifies where to put newlines: this is any
 combination of before and after the brace or colon.  If no alist
 element is found, newlines are inserted both before and after a brace,
 but none are inserted around a colon.  See @ref{Hanging Braces} and
 combination of before and after the brace or colon.  If no alist
 element is found, newlines are inserted both before and after a brace,
 but none are inserted around a colon.  See @ref{Hanging Braces} and
@@ -3267,7 +3262,7 @@ syntactic symbol, the associated value is either @code{nil}, a list,
 or a function.
 
 @table @asis
 or a function.
 
 @table @asis
-@item The Key - the syntactic symbol
+@item The Key: the syntactic symbol
 The syntactic symbols that are useful as keys in this list are
 @code{brace-list-intro}, @code{statement-cont},
 @code{inexpr-class-open}, @code{inexpr-class-close}, and all the
 The syntactic symbols that are useful as keys in this list are
 @code{brace-list-intro}, @code{statement-cont},
 @code{inexpr-class-open}, @code{inexpr-class-close}, and all the
@@ -3290,7 +3285,7 @@ lists in this regard, even though they do for normal indentation
 purposes.  It's currently not possible to set automatic newlines on
 these constructs.
 
 purposes.  It's currently not possible to set automatic newlines on
 these constructs.
 
-@item The associated value - the ``ACTION'' list or function
+@item The associated value: the ``ACTION'' list or function
 The value associated with each syntactic symbol in this association
 list is called an @var{action}, which can be either a list or a
 function which returns a list.  @xref{Custom Braces}, for how to use
 The value associated with each syntactic symbol in this association
 list is called an @var{action}, which can be either a list or a
 function which returns a list.  @xref{Custom Braces}, for how to use
@@ -3460,7 +3455,7 @@ that the brace appears on a line by itself.
 
 Using a mechanism similar to brace hanging (@pxref{Hanging Braces}),
 colons can also be made to hang using the style variable
 
 Using a mechanism similar to brace hanging (@pxref{Hanging Braces}),
 colons can also be made to hang using the style variable
-@code{c-hanging-colons-alist} - When a colon is typed, @ccmode
+@code{c-hanging-colons-alist}: when a colon is typed, @ccmode
 determines its syntactic context, looks this up in the alist
 @code{c-changing-colons-alist} and inserts up to two newlines
 accordingly.  Here, however, If @ccmode fails to find an entry for a
 determines its syntactic context, looks this up in the alist
 @code{c-changing-colons-alist} and inserts up to two newlines
 accordingly.  Here, however, If @ccmode fails to find an entry for a
@@ -3471,17 +3466,17 @@ newly typed colon.
 @vindex hanging-colons-alist (c-)
 
 @table @asis
 @vindex hanging-colons-alist (c-)
 
 @table @asis
-@item The Key - the syntactic symbol
+@item The Key: the syntactic symbol
 The syntactic symbols appropriate as keys in this association list
 are: @code{case-label}, @code{label}, @code{access-label},
 @code{member-init-intro}, and @code{inher-intro}.  @xref{Syntactic
 Symbols}.  Elements with any other value as a key get ignored.
 
 The syntactic symbols appropriate as keys in this association list
 are: @code{case-label}, @code{label}, @code{access-label},
 @code{member-init-intro}, and @code{inher-intro}.  @xref{Syntactic
 Symbols}.  Elements with any other value as a key get ignored.
 
-@item The associate value - the ``ACTION'' list
+@item The associated value: the ``ACTION'' list
 The @var{action} here is simply a list containing a combination of the
 symbols @code{before} and @code{after}.  Unlike in
 @code{c-hanging-braces-alist}, functions as @var{actions} are not
 The @var{action} here is simply a list containing a combination of the
 symbols @code{before} and @code{after}.  Unlike in
 @code{c-hanging-braces-alist}, functions as @var{actions} are not
-supported - there doesn't seem to be any need for them.
+supported; there doesn't seem to be any need for them.
 @end table
 @end defopt
 
 @end table
 @end defopt
 
@@ -3913,14 +3908,14 @@ recognized, e.g., @code{statement}, @code{substatement},
 @code{class-open}, @code{class-close}, etc.  @xref{Syntactic Symbols},
 for a complete list of currently recognized syntactic symbols and
 their semantics.  The remaining entries are various data associated
 @code{class-open}, @code{class-close}, etc.  @xref{Syntactic Symbols},
 for a complete list of currently recognized syntactic symbols and
 their semantics.  The remaining entries are various data associated
-with the recognized construct - there might be zero or more.
+with the recognized construct; there might be zero or more.
 
 @cindex anchor position
 Conceptually, a line of code is always indented relative to some
 position higher up in the buffer (typically the indentation of the
 previous line).  That position is the @dfn{anchor position} in the
 syntactic element.  If there is an entry after the syntactic symbol in
 
 @cindex anchor position
 Conceptually, a line of code is always indented relative to some
 position higher up in the buffer (typically the indentation of the
 previous line).  That position is the @dfn{anchor position} in the
 syntactic element.  If there is an entry after the syntactic symbol in
-the syntactic element list then it's either nil or that anchor position.
+the syntactic element list then it's either @code{nil} or that anchor position.
 
 Here is an example.  Suppose we had the following code as the only thing
 in a C++ buffer @footnote{The line numbers in this and future examples
 
 Here is an example.  Suppose we had the following code as the only thing
 in a C++ buffer @footnote{The line numbers in this and future examples
@@ -4570,7 +4565,7 @@ example:
 Here, lines 4, 7, and 10 are all assigned @code{case-label} syntax,
 while lines 5 and 8 are assigned @code{statement-case-intro}.  Line 11
 is treated slightly differently since it contains a brace that opens a
 Here, lines 4, 7, and 10 are all assigned @code{case-label} syntax,
 while lines 5 and 8 are assigned @code{statement-case-intro}.  Line 11
 is treated slightly differently since it contains a brace that opens a
-block --- it is given @code{statement-case-open} syntax.
+block; it is given @code{statement-case-open} syntax.
 
 @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 @node    Brace List Symbols, External Scope Symbols, Switch Statement Symbols, Syntactic Symbols
 
 @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 @node    Brace List Symbols, External Scope Symbols, Switch Statement Symbols, Syntactic Symbols
@@ -4798,7 +4793,7 @@ Line 2 is assigned the @code{func-decl-cont} syntax.
 @ssindex comment-intro
 Line 4 is assigned both @code{defun-block-intro} @emph{and}
 @code{comment-intro} syntax.  A syntactic element with
 @ssindex comment-intro
 Line 4 is assigned both @code{defun-block-intro} @emph{and}
 @code{comment-intro} syntax.  A syntactic element with
-@code{comment-intro} has no anchor point --- It is always accompanied
+@code{comment-intro} has no anchor point It is always accompanied
 by another syntactic element which does have one.
 
 @item
 by another syntactic element which does have one.
 
 @item
@@ -4959,7 +4954,7 @@ the declaration is an annotation.
 
 There are a few occasions where a statement block might be used inside
 an expression.  One is in C or C++ code using the gcc extension for
 
 There are a few occasions where a statement block might be used inside
 an expression.  One is in C or C++ code using the gcc extension for
-this, e.g:
+this, e.g.:
 
 @example
  1: int res = (@{
 
 @example
  1: int res = (@{
@@ -5282,15 +5277,15 @@ values that the special symbols correspond to:
 @item +
 @code{c-basic-offset} times 1
 @item -
 @item +
 @code{c-basic-offset} times 1
 @item -
-@code{c-basic-offset} times -1
+@code{c-basic-offset} times @minus{}1
 @item ++
 @code{c-basic-offset} times 2
 @item --
 @item ++
 @code{c-basic-offset} times 2
 @item --
-@code{c-basic-offset} times -2
+@code{c-basic-offset} times @minus{}2
 @item *
 @code{c-basic-offset} times 0.5
 @item /
 @item *
 @code{c-basic-offset} times 0.5
 @item /
-@code{c-basic-offset} times -0.5
+@code{c-basic-offset} times @minus{}0.5
 @end table
 
 @item A vector
 @end table
 
 @item A vector
@@ -5332,10 +5327,10 @@ Use the first offset that doesn't evaluate to @code{nil}.  Subsequent
 elements of the list don't get evaluated.
 @item min
 Use the minimum of all the offsets.  All must be either relative or
 elements of the list don't get evaluated.
 @item min
 Use the minimum of all the offsets.  All must be either relative or
-absolute - they can't be mixed.
+absolute; they can't be mixed.
 @item max
 Use the maximum of all the offsets.  All must be either relative or
 @item max
 Use the maximum of all the offsets.  All must be either relative or
-absolute - they can't be mixed.
+absolute; they can't be mixed.
 @item add
 Add all the evaluated offsets together.  Exactly one of them may be
 absolute, in which case the result is absolute.  Any relative offsets
 @item add
 Add all the evaluated offsets together.  Exactly one of them may be
 absolute, in which case the result is absolute.  Any relative offsets
@@ -5493,7 +5488,7 @@ any problems writing custom line-up functions for AWK mode.
 The calling convention for line-up functions is described fully in
 @ref{Custom Line-Up}.  Roughly speaking, the return value is either an
 offset itself (such as @code{+} or @code{[0]}) or it's @code{nil},
 The calling convention for line-up functions is described fully in
 @ref{Custom Line-Up}.  Roughly speaking, the return value is either an
 offset itself (such as @code{+} or @code{[0]}) or it's @code{nil},
-meaning ``this function is inappropriate in this case - try a
+meaning ``this function is inappropriate in this case; try a
 different one''.  @xref{c-offsets-alist}.
 
 The subsections below describe all the standard line-up functions,
 different one''.  @xref{c-offsets-alist}.
 
 The subsections below describe all the standard line-up functions,
@@ -5552,7 +5547,7 @@ parentheses and statements within brace blocks.
 @findex lineup-close-paren (c-)
 Line up the closing paren under its corresponding open paren if the
 open paren is followed by code.  If the open paren ends its line, no
 @findex lineup-close-paren (c-)
 Line up the closing paren under its corresponding open paren if the
 open paren is followed by code.  If the open paren ends its line, no
-indentation is added.  E.g:
+indentation is added.  E.g.:
 
 @example
 @group
 
 @example
 @group
@@ -5606,7 +5601,7 @@ discussion of this ``DWIM'' measure.
 
 @defun c-indent-one-line-block
 @findex indent-one-line-block (c-)
 
 @defun c-indent-one-line-block
 @findex indent-one-line-block (c-)
-Indent a one line block @code{c-basic-offset} extra.  E.g:
+Indent a one line block @code{c-basic-offset} extra.  E.g.:
 
 @example
 @group
 
 @example
 @group
@@ -5640,7 +5635,7 @@ which makes the function usable in list expressions.
 
 @defun c-indent-multi-line-block
 @findex indent-multi-line-block (c-)
 
 @defun c-indent-multi-line-block
 @findex indent-multi-line-block (c-)
-Indent a multiline block @code{c-basic-offset} extra.  E.g:
+Indent a multiline block @code{c-basic-offset} extra.  E.g.:
 
 @example
 @group
 
 @example
 @group
@@ -5679,7 +5674,7 @@ block, which makes the function usable in list expressions.
 Line up statements for coding standards which place the first statement
 in a block on the same line as the block opening brace@footnote{Run-in
 style doesn't really work too well.  You might need to write your own
 Line up statements for coding standards which place the first statement
 in a block on the same line as the block opening brace@footnote{Run-in
 style doesn't really work too well.  You might need to write your own
-custom line-up functions to better support this style.}.  E.g:
+custom line-up functions to better support this style.}.  E.g.:
 
 @example
 @group
 
 @example
 @group
@@ -5762,7 +5757,7 @@ indents relative to the surrounding block just like
 @defun c-lineup-whitesmith-in-block
 @findex lineup-whitesmith-in-block (c-)
 Line up lines inside a block in Whitesmith style.  It's done in a way
 @defun c-lineup-whitesmith-in-block
 @findex lineup-whitesmith-in-block (c-)
 Line up lines inside a block in Whitesmith style.  It's done in a way
-that works both when the opening brace hangs and when it doesn't.  E.g:
+that works both when the opening brace hangs and when it doesn't.  E.g.:
 
 @example
 @group
 
 @example
 @group
@@ -5816,7 +5811,7 @@ Line up the current argument line under the first argument.
 As a special case, if an argument on the same line as the open
 parenthesis starts with a brace block opener, the indentation is
 @code{c-basic-offset} only.  This is intended as a ``DWIM'' measure in
 As a special case, if an argument on the same line as the open
 parenthesis starts with a brace block opener, the indentation is
 @code{c-basic-offset} only.  This is intended as a ``DWIM'' measure in
-cases like macros that contain statement blocks, e.g:
+cases like macros that contain statement blocks, e.g.:
 
 @example
 @group
 
 @example
 @group
@@ -5852,7 +5847,7 @@ brace block.
 @defun c-lineup-multi-inher
 @findex lineup-multi-inher (c-)
 Line up the classes in C++ multiple inheritance clauses and member
 @defun c-lineup-multi-inher
 @findex lineup-multi-inher (c-)
 Line up the classes in C++ multiple inheritance clauses and member
-initializers under each other.  E.g:
+initializers under each other.  E.g.:
 
 @example
 @group
 
 @example
 @group
@@ -5895,7 +5890,7 @@ Line up Java implements and extends declarations.  If class names
 follow on the same line as the @samp{implements}/@samp{extends}
 keyword, they are lined up under each other.  Otherwise, they are
 indented by adding @code{c-basic-offset} to the column of the keyword.
 follow on the same line as the @samp{implements}/@samp{extends}
 keyword, they are lined up under each other.  Otherwise, they are
 indented by adding @code{c-basic-offset} to the column of the keyword.
-E.g:
+E.g.:
 
 @example
 @group
 
 @example
 @group
@@ -5929,7 +5924,7 @@ same line as the throws keyword, they are lined up under each other.
 Otherwise, they are indented by adding @code{c-basic-offset} to the
 column of the @samp{throws} keyword.  The @samp{throws} keyword itself
 is also indented by @code{c-basic-offset} from the function declaration
 Otherwise, they are indented by adding @code{c-basic-offset} to the
 column of the @samp{throws} keyword.  The @samp{throws} keyword itself
 is also indented by @code{c-basic-offset} from the function declaration
-start if it doesn't hang.  E.g:
+start if it doesn't hang.  E.g.:
 
 @example
 @group
 
 @example
 @group
@@ -6014,7 +6009,7 @@ line.
 
 @defun c-lineup-argcont
 @findex lineup-argcont (c-)
 
 @defun c-lineup-argcont
 @findex lineup-argcont (c-)
-Line up a continued argument.  E.g:
+Line up a continued argument.  E.g.:
 
 @example
 @group
 
 @example
 @group
@@ -6072,7 +6067,7 @@ suggestion to get a consistent style):
 @defun c-lineup-assignments
 @findex lineup-assignments (c-)
 Line up the current line after the assignment operator on the first line
 @defun c-lineup-assignments
 @findex lineup-assignments (c-)
 Line up the current line after the assignment operator on the first line
-in the statement.  If there isn't any, return nil to allow stacking with
+in the statement.  If there isn't any, return @code{nil} to allow stacking with
 other line-up functions.  If the current line contains an assignment
 operator too, try to align it with the first one.
 
 other line-up functions.  If the current line contains an assignment
 operator too, try to align it with the first one.
 
@@ -6101,7 +6096,7 @@ function is the same as specifying a list @code{(c-lineup-assignments
 Line up ``cascaded calls'' under each other.  If the line begins with
 @code{->} or @code{.} and the preceding line ends with one or more
 function calls preceded by the same token, then the arrow is lined up
 Line up ``cascaded calls'' under each other.  If the line begins with
 @code{->} or @code{.} and the preceding line ends with one or more
 function calls preceded by the same token, then the arrow is lined up
-with the first of those tokens.  E.g:
+with the first of those tokens.  E.g.:
 
 @example
 @group
 
 @example
 @group
@@ -6133,7 +6128,7 @@ Line up C++ stream operators (i.e., @samp{<<} and @samp{>>}).
 @findex lineup-string-cont (c-)
 Line up a continued string under the one it continues.  A continued
 string in this sense is where a string literal follows directly after
 @findex lineup-string-cont (c-)
 Line up a continued string under the one it continues.  A continued
 string in this sense is where a string literal follows directly after
-another one.  E.g:
+another one.  E.g.:
 
 @example
 @group
 
 @example
 @group
@@ -6242,7 +6237,7 @@ is equivalent to @code{(@r{@var{value}} . -1000)}.
 @findex lineup-knr-region-comment (c-)
 Line up a comment in the ``K&R region'' with the declaration.  That is
 the region between the function or class header and the beginning of the
 @findex lineup-knr-region-comment (c-)
 Line up a comment in the ``K&R region'' with the declaration.  That is
 the region between the function or class header and the beginning of the
-block.  E.g:
+block.  E.g.:
 
 @example
 @group
 
 @example
 @group
@@ -6282,7 +6277,7 @@ already has; think of it as an identity function for lineups.
 @defun c-lineup-cpp-define
 @findex lineup-cpp-define (c-)
 Line up macro continuation lines according to the indentation of the
 @defun c-lineup-cpp-define
 @findex lineup-cpp-define (c-)
 Line up macro continuation lines according to the indentation of the
-construct preceding the macro.  E.g:
+construct preceding the macro.  E.g.:
 
 @example
 @group
 
 @example
 @group
@@ -6409,7 +6404,7 @@ that those lines could be analyzed as either topmost-intro-cont or
 statement-cont.  It's used for @code{topmost-intro-cont} by default, but
 you might consider using @code{+} instead.}.  For lines preceding a
 definition, zero is used.  For other lines, @code{c-basic-offset} is
 statement-cont.  It's used for @code{topmost-intro-cont} by default, but
 you might consider using @code{+} instead.}.  For lines preceding a
 definition, zero is used.  For other lines, @code{c-basic-offset} is
-added to the indentation.  E.g:
+added to the indentation.  E.g.:
 
 @example
 @group
 
 @example
 @group
@@ -6475,13 +6470,14 @@ think is generally useful, you're very welcome to contribute it;
 please contact @email{bug-cc-mode@@gnu.org}.
 
    Line-up functions are passed a single argument, the syntactic
 please contact @email{bug-cc-mode@@gnu.org}.
 
    Line-up functions are passed a single argument, the syntactic
-element (see below).  The return value is a @code{c-offsets-alist}
-offset specification: for example, an integer, a symbol such as
-@code{+}, a vector, @code{nil}@footnote{Returning @code{nil} is useful
-when the offset specification for a syntactic element is a list
-containing the line-up function (@pxref{c-offsets-alist}).}, or even
-another line-up function.  Full details of these are in
-@ref{c-offsets-alist}.
+element (see below).  At the time of the call, point will be somewhere
+on the line being indented.  The return value is a
+@code{c-offsets-alist} offset specification: for example, an integer,
+a symbol such as @code{+}, a vector, @code{nil}@footnote{Returning
+@code{nil} is useful when the offset specification for a syntactic
+element is a list containing the line-up function
+(@pxref{c-offsets-alist}).}, or even another line-up function.  Full
+details of these are in @ref{c-offsets-alist}.
 
 Line-up functions must not move point or change the content of the
 buffer (except temporarily).  They are however allowed to do
 
 Line-up functions must not move point or change the content of the
 buffer (except temporarily).  They are however allowed to do
@@ -6507,19 +6503,19 @@ earlier.  Line-up functions are still passed this cons cell, so as to
 preserve compatibility with older configurations.  In the future, we
 may decide to convert to using the full list format---you can prepare
 your setup for this by using the access functions
 preserve compatibility with older configurations.  In the future, we
 may decide to convert to using the full list format---you can prepare
 your setup for this by using the access functions
-(@code{c-langelem-sym}, etc.)  described below.
+(@code{c-langelem-sym}, etc.)@: described below.
 
 @vindex c-syntactic-element
 @vindex syntactic-element (c-)
 @vindex c-syntactic-context
 @vindex syntactic-context (c-)
 Some syntactic symbols, e.g., @code{arglist-cont-nonempty}, have more
 
 @vindex c-syntactic-element
 @vindex syntactic-element (c-)
 @vindex c-syntactic-context
 @vindex syntactic-context (c-)
 Some syntactic symbols, e.g., @code{arglist-cont-nonempty}, have more
-info in the syntactic element - typically other positions that can be
+info in the syntactic element: typically other positions that can be
 interesting besides the anchor position.  That info can't be accessed
 through the passed argument, which is a cons cell.  Instead, you can
 get this information from the variable @code{c-syntactic-element},
 which is dynamically bound to the complete syntactic element.  The
 interesting besides the anchor position.  That info can't be accessed
 through the passed argument, which is a cons cell.  Instead, you can
 get this information from the variable @code{c-syntactic-element},
 which is dynamically bound to the complete syntactic element.  The
-variable @code{c-syntactic-context} might also be useful - it gets
+variable @code{c-syntactic-context} might also be useful: it gets
 dynamically bound to the complete syntactic context.  @xref{Custom
 Braces}.
 
 dynamically bound to the complete syntactic context.  @xref{Custom
 Braces}.
 
@@ -6536,7 +6532,7 @@ Return the syntactic symbol in @var{langelem}.
 
 @defun c-langelem-pos langelem
 @findex langelem-pos (c-)
 
 @defun c-langelem-pos langelem
 @findex langelem-pos (c-)
-Return the anchor position in @var{langelem}, or nil if there is none.
+Return the anchor position in @var{langelem}, or @code{nil} if there is none.
 @end defun
 
 @defun c-langelem-col langelem &optional preserve-point
 @end defun
 
 @defun c-langelem-col langelem &optional preserve-point
@@ -6759,7 +6755,7 @@ initialization code.
 @end defun
 
 @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 @end defun
 
 @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-@node    Odds and Ends, Sample .emacs File, Custom Macros, Top
+@node    Odds and Ends, Sample Init File, Custom Macros, Top
 @comment node-name, next, previous, up
 @chapter Odds and Ends
 @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 @comment node-name, next, previous, up
 @chapter Odds and Ends
 @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -6803,9 +6799,9 @@ anchoring position to indent the line in that case.
 
 
 @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
 
 @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-@node    Sample .emacs File, Performance Issues, Odds and Ends, Top
+@node    Sample Init File, Performance Issues, Odds and Ends, Top
 @comment node-name, next, previous, up
 @comment node-name, next, previous, up
-@appendix Sample .emacs File
+@appendix Sample Init File
 @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
 Here's a sample .emacs file fragment that might help you along the way.
 @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
 Here's a sample .emacs file fragment that might help you along the way.
@@ -6862,7 +6858,7 @@ to change some of the actual values.
 @end verbatim
 
 @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 @end verbatim
 
 @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-@node    Performance Issues, Limitations and Known Bugs, Sample .emacs File, Top
+@node    Performance Issues, Limitations and Known Bugs, Sample Init File, Top
 @comment node-name, next, previous, up
 @chapter Performance Issues
 @cindex performance
 @comment node-name, next, previous, up
 @chapter Performance Issues
 @cindex performance
@@ -7051,18 +7047,20 @@ Set the variable @code{c-basic-offset}.  @xref{Getting Started}.
 @item
 @kindex RET
 @kindex C-j
 @item
 @kindex RET
 @kindex C-j
-@emph{Why doesn't the @kbd{RET} key indent the new line?}
+@emph{Why does/doesn't the @kbd{RET} key indent the new line?}
+
+Emacs's convention used to be that @kbd{RET} just adds a newline, and that
+@kbd{C-j} adds a newline and indents it.  In Emacs-24.4, this convention was
+reversed.
 
 
-Emacs's convention is that @kbd{RET} just adds a newline, and that
-@kbd{C-j} adds a newline and indents it.  You can make @kbd{RET} do this
-too by adding this to your @code{c-initialization-hook}:
+If you use an older Emacs and you want @kbd{RET} do this
+too, add this to your @code{c-initialization-hook}:
 
 @example
 (define-key c-mode-base-map "\C-m" 'c-context-line-break)
 @end example
 
 
 @example
 (define-key c-mode-base-map "\C-m" 'c-context-line-break)
 @end example
 
-@xref{Getting Started}.  This is a very common question.  If you want
-this to be the default behavior, don't lobby us, lobby RMS@!  @t{:-)}
+@xref{Getting Started}.  This was a very common question.
 
 @item
 @emph{How do I stop my code jumping all over the place when I type?}
 
 @item
 @emph{How do I stop my code jumping all over the place when I type?}