1 Introduction

Welcome to CC Mode, a GNU Emacs mode for editing files containing C, C++, Objective-C, Java, CORBA IDL (and the variants CORBA PSDL and CIDL), Pike and AWK code. This incarnation of the mode is descended from c-mode.el (also called “Boring Old C Mode” or BOCM :-), c++-mode.el version 2, which Barry Warsaw had been maintaining since 1992, and awk-mode.el, a long neglected mode in the (X)Emacs base.

Late in 1997, Martin Stjernholm joined Barry on the CC Mode Maintainers Team, and implemented the Pike support. In 2000 Martin took over as the sole maintainer. In 2001 Alan Mackenzie joined the team, implementing AWK support in version 5.30. CC Mode did not originally contain the font lock support for its languages; that was added in version 5.30.

This manual describes CC Mode version 5.35.

CC Mode supports the editing of C, C++, Objective-C, Java, CORBA’s Interface Definition Language, Pike1 and AWK files. In this way, you can easily set up consistent font locking and coding styles for use in editing all of these languages, although AWK is not yet as uniformly integrated as the other languages.

Note that the name of this package is “CC Mode”, but there is no top level cc-mode entry point. All of the variables, commands, and functions in CC Mode are prefixed with c-thing, and c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode, and awk-mode entry points are provided. This package is intended to be a replacement for c-mode.el, c++-mode.el and awk-mode.el.

A special word of thanks goes to Krishna Padmasola for his work in converting the original README file to Texinfo format. I’d also like to thank all the CC Mode victims who help enormously during the early beta stages of CC Mode’s development.



A C-like scripting language with its roots in the LPC language used in some MUD engines. See https://pike.lysator.liu.se/.