From a4ee83ccd46d5ec32f60233951b1e8d40efaec7e Mon Sep 17 00:00:00 2001 From: Alan Mackenzie Date: Wed, 15 Sep 2010 18:03:25 +0000 Subject: [PATCH] (c-forward-<>-arglist-recur): Fix an infinite recursion. --- lisp/ChangeLog | 1 + lisp/progmodes/cc-engine.el | 18 ++++++++---------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 70052409d66..7731c6686b7 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -2,6 +2,7 @@ * progmodes/cc-engine.el (c-forward-<>-arglist-recur): Correct the indentation. + (c-forward-<>-arglist-recur): Fix an infinite recursion. 2010-09-15 Stefan Monnier diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el index 195d4f6cf71..2a24bf1ce90 100644 --- a/lisp/progmodes/cc-engine.el +++ b/lisp/progmodes/cc-engine.el @@ -5479,16 +5479,14 @@ comment at the start of cc-engine.el for more info." (setq pos (point)) - (or - ;; Note: These regexps exploit the match order in \| so - ;; that "<>" is matched by "<" rather than "[^>:-]>". - (c-syntactic-re-search-forward - ;; Stop on ',', '|', '&', '+' and '-' to catch - ;; common binary operators that could be between - ;; two comparison expressions "ad". - "[<;{},|+&-]\\|[>)]" - nil t t) - t)) + ;; Note: These regexps exploit the match order in \| so + ;; that "<>" is matched by "<" rather than "[^>:-]>". + (c-syntactic-re-search-forward + ;; Stop on ',', '|', '&', '+' and '-' to catch + ;; common binary operators that could be between + ;; two comparison expressions "ad". + "[<;{},|+&-]\\|[>)]" + nil t t)) (cond ((eq (char-before) ?>) -- 2.39.5