Commands for C Indentation
--------------------------
Here are special features for indentation in C mode and related
modes:
`C-c C-q'
Reindent the current top-level function definition or aggregate
type declaration (`c-indent-defun').
`C-M-q'
Reindent each line in the balanced expression that follows point
(`c-indent-exp'). A prefix argument inhibits error checking and
warning messages about invalid syntax.
`<TAB>'
Reindent the current line, and/or in some cases insert a tab
character (`c-indent-command').
If `c-tab-always-indent' is `t', this command always reindents the
current line and does nothing else. This is the default.
If that variable is `nil', this command reindents the current line
only if point is at the left margin or in the line's indentation;
otherwise, it inserts a tab (or the equivalent number of spaces,
if `indent-tabs-mode' is `nil').
Any other value (not `nil' or `t') means always reindent the line,
and also insert a tab if within a comment, a string, or a
preprocessor directive.
To reindent the whole current buffer, type `C-x h C-M-\'. This
first selects the whole buffer as the region, then reindents that
region.
To reindent the current block, use `C-M-u C-M-q'. This moves to the
front of the block and then reindents it all.