CC Mode Changes for CC Mode 5.20

Manual (html)
Manual (info/PS/DVI)
Recent changes
Mailing lists
Mercurial Repository
Browse hg Repository
Contributions and links
SourceForge project page

Version History

Changes for 5.33
Changes for 5.32
Changes for 5.31
Changes for 5.30
Changes for 5.29
Changes for 5.28
Changes for 5.27
Changes for 5.26
Changes for 5.25
Changes for 5.24
Changes for 5.21
Changes for 5.20
Changes for 5.19
Changes for 5.18
Changes for 5.17
Changes for 5.16
Changes for 5.15
Changes for 5.14
Changes from v4 to v5

Here is a list of user visible changes for CC Mode 5.20. See also the list of user visible changes for version 5.19.

  • Multiline macros are now handled, both as they affect indentation, and as recognized syntax.

    New syntactic symbol cpp-macro-cont is assigned to second and subsequent lines of a multiline macro definition.

  • A new style "user" which captures all non-hook-ified (i.e. top-level) .emacs file variable settings and customizations. Style "cc-mode" is an alias for "user" and is deprecated. "gnu" style is still the default however.

  • "java" style now conforms to Sun's JDK coding style.

  • New commands c-beginning-of-defun, c-end-of-defun which are not bound by default to C-M-a and C-M-e.

  • New and implementations of M-a (c-beginning-of-statement) and M-e (c-end-of-statement).

  • C++ namespace blocks are supported, with new syntactic symbols namespace-open, namespace-close, and innamespace.

  • File local variable settings of c-file-style and c-file-offsets makes the style variables local to that buffer only.

  • New indentation functions c-lineup-close-paren, c-indent-one-line-block, c-lineup-dont-change.

  • Various Imenu patches (thanks to Masatake Yamato, Jan Dubois, and Peter Pilgrim).

  • Performance improvements. Some improvements affect only Emacs or only XEmacs (see the variable c-enable-xemacs-performance-kludge-p).

  • Improvements (hopefully!) to the way CC Mode is loaded.

    You should now be able to do a (require 'cc-mode) to get the entire package loaded properly for customization in your .emacs file. A new variable c-initialize-on-load controls this and is set to t by default.