diff options
Diffstat (limited to 'lisp/progmodes/cc-langs.el')
-rw-r--r-- | lisp/progmodes/cc-langs.el | 68 |
1 files changed, 51 insertions, 17 deletions
diff --git a/lisp/progmodes/cc-langs.el b/lisp/progmodes/cc-langs.el index 96f0887eec0..fafbfb70552 100644 --- a/lisp/progmodes/cc-langs.el +++ b/lisp/progmodes/cc-langs.el @@ -1,6 +1,6 @@ ;;; cc-langs.el --- language specific settings for CC Mode -;; Copyright (C) 1985, 1987, 1992-2011 Free Software Foundation, Inc. +;; Copyright (C) 1985, 1987, 1992-2012 Free Software Foundation, Inc. ;; Authors: 2002- Alan Mackenzie ;; 1998- Martin Stjernholm @@ -485,28 +485,56 @@ The functions are called even when font locking isn't enabled. When the mode is initialized, the functions are called with parameters \(point-min) and \(point-max).") -(c-lang-defconst c-before-font-lock-function - "If non-nil, a function called just before font locking. -Typically it will extend the region about to be fontified \(see +(c-lang-defconst c-before-font-lock-functions + ;; For documentation see the following c-lang-defvar of the same name. + ;; The value here may be a list of functions or a single function. + t 'c-change-set-fl-decl-start + (c c++ objc) '(c-neutralize-syntax-in-and-mark-CPP + c-change-set-fl-decl-start) + awk 'c-awk-extend-and-syntax-tablify-region) +(c-lang-defvar c-before-font-lock-functions + (let ((fs (c-lang-const c-before-font-lock-functions))) + (if (listp fs) + fs + (list fs))) + "If non-nil, a list of functions called just before font locking. +Typically they will extend the region about to be fontified \(see below) and will set `syntax-table' text properties on the region. -It takes 3 parameters, the BEG, END, and OLD-LEN supplied to -every after-change function; point is undefined on both entry and -exit; on entry, the buffer will have been widened and match-data -will have been saved; the return value is ignored. +These functions will be run in the order given. Each of them +takes 3 parameters, the BEG, END, and OLD-LEN supplied to every +after-change function; point is undefined on both entry and exit; +on entry, the buffer will have been widened and match-data will +have been saved; the return value is ignored. -The function may extend the region to be fontified by setting the +The functions may extend the region to be fontified by setting the buffer local variables c-new-BEG and c-new-END. -The function is called even when font locking is disabled. +The functions are called even when font locking is disabled. -When the mode is initialized, this function is called with -parameters \(point-min), \(point-max) and <buffer size>." - t nil - (c c++ objc) 'c-neutralize-syntax-in-and-mark-CPP - awk 'c-awk-extend-and-syntax-tablify-region) -(c-lang-defvar c-before-font-lock-function - (c-lang-const c-before-font-lock-function)) +When the mode is initialized, these functions are called with +parameters \(point-min), \(point-max) and <buffer size>.") + +(c-lang-defconst c-before-context-fontification-functions + awk nil + t 'c-context-set-fl-decl-start) + ;; For documentation see the following c-lang-defvar of the same name. + ;; The value here may be a list of functions or a single function. +(c-lang-defvar c-before-context-fontification-functions + (let ((fs (c-lang-const c-before-context-fontification-functions))) + (if (listp fs) + fs + (list fs))) + "If non-nil, a list of functions called just before context (or +other non-change) fontification is done. Typically they will +extend the region. + +These functions will be run in the order given. Each of them +takes 2 parameters, the BEG and END of the region to be +fontified. Point is undefined on both entry and exit. On entry, +the buffer will have been widened and match-data will have been +saved; the return value is a cons of the adjusted +region, (NEW-BEG . NEW-END).") ;;; Syntactic analysis ("virtual semicolons") for line-oriented languages (AWK). @@ -2910,6 +2938,12 @@ expression is considered to be a type." (consp (c-lang-const c-<>-arglist-kwds)))) (c-lang-defvar c-recognize-<>-arglists (c-lang-const c-recognize-<>-arglists)) +(c-lang-defconst c-enums-contain-decls + "Non-nil means that an enum structure can contain declarations." + t nil + java t) +(c-lang-defvar c-enums-contain-decls (c-lang-const c-enums-contain-decls)) + (c-lang-defconst c-recognize-paren-inits "Non-nil means that parenthesis style initializers exist, i.e. constructs like |