diff options
author | Alan Mackenzie <acm@muc.de> | 2010-03-01 11:31:42 +0000 |
---|---|---|
committer | Alan Mackenzie <acm@muc.de> | 2010-03-01 11:31:42 +0000 |
commit | dd21b6216dea34d95fad1860ad1c0b2a0735b867 (patch) | |
tree | 914ebf5dcc3ee038ab7873a0689ff302f3a10ff0 | |
parent | a7434f011037fcc6945f4eb3228368e9cf65d49d (diff) | |
download | emacs-dd21b6216dea34d95fad1860ad1c0b2a0735b867.tar.gz |
Fix bug #5649: 23.1.92; Indentation problems in C mode.
-rw-r--r-- | lisp/ChangeLog | 5 | ||||
-rw-r--r-- | lisp/progmodes/cc-engine.el | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index f69df07cf2c..725377aba95 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2010-03-01 Alan Mackenzie <bug-cc-mode@gnu.org> + + * cc-engine.el (c-remove-stale-state-cache): Take account of when + `good-pos' is in the same macro as `here'. Fixes bug 5649. + 2010-02-28 Katsumi Yamaoka <yamaoka@jpl.org> * menu-bar.el (menu-bar-manuals-menu): Fix typo. diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el index 336e2c39262..4797cd4a8ca 100644 --- a/lisp/progmodes/cc-engine.el +++ b/lisp/progmodes/cc-engine.el @@ -2641,7 +2641,8 @@ comment at the start of cc-engine.el for more info." ;; (car c-state-cache). There can be no open parens/braces/brackets ;; between `good-pos'/`good-pos-actual-macro-start' and (point-max), ;; due to the interface spec to this function. - (setq pos (if good-pos-actual-macro-end + (setq pos (if (and good-pos-actual-macro-end + (> in-macro-start good-pos-actual-macro-start)) (1+ good-pos-actual-macro-end) ; get outside the macro as ; marked by a `category' text property. good-pos)) |