c-context-line-break is an interactive compiled Lisp function in `
Do a line break suitable to the context.
When point is outside a comment or macro, insert a newline and indent
according to the syntactic context, unless `c-syntactic-indentation'
is nil, in which case the new line is indented as the previous
non-empty line instead.
When point is inside the content of a preprocessor directive, a line
continuation backslash is inserted before the line break and aligned
appropriately. The end of the cpp directive doesn't count as inside
When point is inside a comment, continue it with the appropriate
comment prefix (see the `c-comment-prefix-regexp' and
`c-block-comment-prefix' variables for details). The end of a
C++-style line comment doesn't count as inside it.
When point is inside a string, only insert a backslash when it is also
inside a preprocessor directive.