# HG changeset patch # User Alan Mackenzie # Date 1253956721 0 # Node ID 60cf2b54da00abab90c1e03646e8ece143aba6df # Parent 3603226f3cf8f0ac570b2661d7f1249a304f9a0b cc-langs.el (c-nonlabel-token-key): Allow quoted character constants (as case labels). cc-engine.el (c-beginning-of-statement-1): Correct buggy bracketing. diff -r 3603226f3cf8 -r 60cf2b54da00 lisp/progmodes/cc-engine.el --- a/lisp/progmodes/cc-engine.el Sat Sep 26 09:08:54 2009 +0000 +++ b/lisp/progmodes/cc-engine.el Sat Sep 26 09:18:41 2009 +0000 @@ -1067,8 +1067,9 @@ (not (eq ret 'beginning)) (looking-at c-case-kwds-regexp)) (if (< after-case:-pos start) - (setq pos after-case:-pos) - (setq ret 'label))) + (setq pos after-case:-pos)) + (if (eq ret 'same) + (setq ret 'label))) ;; Skip over the unary operators that can start the statement. (while (progn diff -r 3603226f3cf8 -r 60cf2b54da00 lisp/progmodes/cc-langs.el --- a/lisp/progmodes/cc-langs.el Sat Sep 26 09:08:54 2009 +0000 +++ b/lisp/progmodes/cc-langs.el Sat Sep 26 09:18:41 2009 +0000 @@ -2885,7 +2885,7 @@ i.e. before \":\". Only used if `c-recognize-colon-labels' is set." t (concat ;; Don't allow string literals. - "[\"']\\|" + "\"\\|" ;; All keywords except `c-label-kwds' and `c-protection-kwds'. (c-make-keywords-re t (set-difference (c-lang-const c-keywords)