Next: Misc Line-Up, Previous: Operator Line-Up, Up: Line-Up Functions

#### 11.3.4 Comment Line-Up Functions

The lineup functions here calculate the indentation for several types of comment structure.

— Function: c-lineup-C-comments

> Line up C block comment continuation lines. Various heuristics are used to handle most of the common comment styles. Some examples:

>               /*                 /**               /*
>                * text             * text             text
>                */                 */               */

>               /* text            /*                /**
>                  text            ** text            ** text
>               */                 */                 */

>               /**************************************************
>                * text
>                *************************************************/

>               /**************************************************
>                   Free form text comments:
>                In comments with a long delimiter line at the
>                start, the indentation is kept unchanged for lines
>                that start with an empty comment line prefix.  The
>                delimiter line is whatever matches the
>                comment-start-skip regexp.
>               **************************************************/

> The style variable `c-comment-prefix-regexp` is used to recognize the comment line prefix, e.g. the ‘`*`’ that usually starts every line inside a comment.

> Works with: The `c` syntactic symbol.

— Function: c-lineup-comment

> Line up a comment-only line according to the style variable `c-comment-only-line-offset`. If the comment is lined up with a comment starter on the previous line, that alignment is preserved.

> — User Option: c-comment-only-line-offset

> > This style variable specifies the extra offset for the line. It can contain an integer or a cons cell of the form

> >                    (non-anchored-offset . anchored-offset)

> > where non-anchored-offset is the amount of offset given to non-column-zero anchored lines, and anchored-offset is the amount of offset to give column-zero anchored lines. Just an integer as value is equivalent to `(`value `. -1000)`.

> Works with: `comment-intro`.

— Function: c-lineup-knr-region-comment

> 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:

>               int main()
>               /* Called at startup. */  <- c-lineup-knr-region-comment
>               {
>                 return 0;
>               }

> Return `nil` if called in any other situation, to be useful in list expressions.

> Works with: `comment-intro`.