13 Odds and Ends

The stuff that didn’t fit in anywhere else is documented here.

User Option: c-require-final-newline

Controls whether a final newline is enforced when the file is saved. The value is an association list that for each language mode specifies the value to give to require-final-newline (see Saving Buffers in GNU Emacs Lisp Reference Manual) at mode initialization. If a language isn’t present on the association list, CC Mode won’t touch require-final-newline in buffers for that language.

The default is to set require-final-newline to t in the languages that mandate that source files should end with newlines. These are C, C++ and Objective-C.

User Option: c-echo-syntactic-information-p

If non-nil, the syntactic analysis for the current line is shown in the echo area when it’s indented (unless c-syntactic-indentation is nil). That’s useful when finding out which syntactic symbols to modify to get the indentation you want.

User Option: c-report-syntactic-errors

If non-nil, certain syntactic errors are reported with a ding and a message, for example when an else is indented for which there is no corresponding if.

Note however that CC Mode doesn’t make any special effort to check for syntactic errors; that’s the job of the compiler. The reason it can report cases like the one above is that it can’t find the correct anchoring position to indent the line in that case.