From dd21b6216dea34d95fad1860ad1c0b2a0735b867 Mon Sep 17 00:00:00 2001 From: Alan Mackenzie Date: Mon, 1 Mar 2010 11:31:42 +0000 Subject: Fix bug #5649: 23.1.92; Indentation problems in C mode. --- lisp/ChangeLog | 5 +++++ lisp/progmodes/cc-engine.el | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) 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 + + * 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 * 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)) -- cgit v1.2.1