Subject: bug#7477: closed (Re: bug#7477: [PATCH] cc-mode tries to recognize template in non-templated language)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 12 Dec 2010 13:30:04 +0000

Your bug report

#7477: [PATCH] cc-mode tries to recognize template in non-templated language

which was filed against the emacs,cc-mode package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
7477: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7477
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#7477: [PATCH] cc-mode tries to recognize template in non-templated language
From: Alan Mackenzie <[email-masked]>
To: Daniel Colascione <[email-masked]>
Cc: [email-masked]
Date: Sun, 12 Dec 2010 13:50:17 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi, Daniel.

On Wed, Nov 24, 2010 at 07:12:05PM -0800, Daniel Colascione wrote:
> If a file in c-mode contains constructs that look like C++ templates,
> c-mode will try to use parts of the template-matching infrastructure
> that have not been initialized.
> 
> === modified file 'lisp/progmodes/cc-engine.el'
> --- lisp/progmodes/cc-engine.el	2010-11-15 04:13:16 +0000
> +++ lisp/progmodes/cc-engine.el	2010-11-25 03:09:29 +0000
> @@ -5889,7 +5889,8 @@
>    ;; `c-record-type-identifiers' is non-nil.
>    ;;
>    ;; This function might do hidden buffer changes.
> -  (when (looking-at "<")
> +  (when (and c-recognize-<>-arglists
> +             (looking-at "<"))
>      (c-forward-<>-arglist t)
>      (c-forward-syntactic-ws))

Thanks again for the patch!  I've committed it.

-- 
Alan Mackenzie (Nuremberg, Germany).

Subject: [PATCH] cc-mode tries to recognize template in non-templated language
From: Daniel Colascione <[email-masked]>
To: [email-masked]
Date: Wed, 24 Nov 2010 19:12:05 -0800
List-Id: <debbugs-submit.debbugs.gnu.org>

If a file in c-mode contains constructs that look like C++ templates,
c-mode will try to use parts of the template-matching infrastructure
that have not been initialized.

=== modified file 'lisp/progmodes/cc-engine.el'
--- lisp/progmodes/cc-engine.el	2010-11-15 04:13:16 +0000
+++ lisp/progmodes/cc-engine.el	2010-11-25 03:09:29 +0000
@@ -5889,7 +5889,8 @@
   ;; `c-record-type-identifiers' is non-nil.
   ;;
   ;; This function might do hidden buffer changes.
-  (when (looking-at "<")
+  (when (and c-recognize-<>-arglists
+             (looking-at "<"))
     (c-forward-<>-arglist t)
     (c-forward-syntactic-ws))