Mercurial > emacs
changeset 107305:0b830883578a
Fix bug #5649: 23.1.92; Indentation problems in C mode.
author | Alan Mackenzie <acm@muc.de> |
---|---|
date | Mon, 01 Mar 2010 11:31:42 +0000 |
parents | adb459b371a3 |
children | e2efddfebd89 372a2c256194 |
files | lisp/ChangeLog lisp/progmodes/cc-engine.el |
diffstat | 2 files changed, 7 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Mon Mar 01 01:15:04 2010 -0800 +++ b/lisp/ChangeLog Mon Mar 01 11:31:42 2010 +0000 @@ -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.
--- a/lisp/progmodes/cc-engine.el Mon Mar 01 01:15:04 2010 -0800 +++ b/lisp/progmodes/cc-engine.el Mon Mar 01 11:31:42 2010 +0000 @@ -2641,7 +2641,8 @@ ;; (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))