summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/progmodes/cc-langs.el8
2 files changed, 13 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index a94987284de..6352a65e4fc 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2011-11-03 Alan Mackenzie <acm@muc.de>
+
+ * progmodes/cc-langs.el (c-nonlabel-token-2-key): New variable for
+ change in cc-engine.el.
+
2011-11-02 Stefan Monnier <monnier@iro.umontreal.ca>
* window.el (switch-to-buffer): Use `force-same-window' interactively.
@@ -136,7 +141,6 @@
* progmodes/cc-langs.el (c-defun-tactic): Move this variable to
cc-vars.el.
- (c-nonlabel-token-2-key): New variable for change in cc-engine.el.
* progmodes/cc-engine.el (c-beginning-of-statement-1):
Prevent "class foo : bar" being spuriously recognized as a label.
diff --git a/lisp/progmodes/cc-langs.el b/lisp/progmodes/cc-langs.el
index 09f8b318378..e1fb69c30c8 100644
--- a/lisp/progmodes/cc-langs.el
+++ b/lisp/progmodes/cc-langs.el
@@ -3012,6 +3012,14 @@ i.e. before \":\". Only used if `c-recognize-colon-labels' is set."
c++ (concat "\\s\(\\|" (c-lang-const c-nonlabel-token-key)))
(c-lang-defvar c-nonlabel-token-key (c-lang-const c-nonlabel-token-key))
+(c-lang-defconst c-nonlabel-token-2-key
+ "Regexp matching things that can't occur two symbols before a colon in
+a label construct. This catches C++'s inheritance construct \"class foo
+: bar\". Only used if `c-recognize-colon-labels' is set."
+ t "\\<\\>" ; matches nothing
+ c++ (c-make-keywords-re t '("class")))
+(c-lang-defvar c-nonlabel-token-2-key (c-lang-const c-nonlabel-token-2-key))
+
(c-lang-defconst c-opt-extra-label-key
"Optional regexp matching labels.
Normally, labels are detected according to `c-nonlabel-token-key',