From unknown Fri Aug 15 20:26:34 2025 X-Loop: help-debbugs@gnu.org Subject: bug#11386: C++11 support: C++ mode gets (temporarily) confused by edits to convert "> >" to ">>" in templates Resent-From: James Dennett Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 30 Apr 2012 21:18:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 11386 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 11386@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.133582063918277 (code B ref -1); Mon, 30 Apr 2012 21:18:01 +0000 Received: (at submit) by debbugs.gnu.org; 30 Apr 2012 21:17:19 +0000 Received: from localhost ([127.0.0.1]:59359 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SOxyA-0004kj-5j for submit@debbugs.gnu.org; Mon, 30 Apr 2012 17:17:19 -0400 Received: from eggs.gnu.org ([208.118.235.92]:56352) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SOxoH-0004WC-Ng for submit@debbugs.gnu.org; Mon, 30 Apr 2012 17:07:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SOxmq-0003UU-7o for submit@debbugs.gnu.org; Mon, 30 Apr 2012 17:05:37 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:38678) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SOxmq-0003UQ-1t for submit@debbugs.gnu.org; Mon, 30 Apr 2012 17:05:36 -0400 Received: from eggs.gnu.org ([208.118.235.92]:46394) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SOxmo-0004pe-Dv for bug-gnu-emacs@gnu.org; Mon, 30 Apr 2012 17:05:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SOxmm-0003UD-JA for bug-gnu-emacs@gnu.org; Mon, 30 Apr 2012 17:05:33 -0400 Received: from mail-iy0-f169.google.com ([209.85.210.169]:52289) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SOxmm-0003Tl-AZ for bug-gnu-emacs@gnu.org; Mon, 30 Apr 2012 17:05:32 -0400 Received: by iajr24 with SMTP id r24so5916503iaj.0 for ; Mon, 30 Apr 2012 14:05:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlers.com; s=googlers; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding:x-system-of-record; bh=F/s2zkDaaOOjhXeKUJiNhYNEiLOMDM6zOjV2MhxjFl0=; b=YSMppEet1wl5nBQj8KmcfxVoG+sFKf2AXqg3EkqOVf1ewu/KRUf6y3GzDilQ2BQsPk kLrwSjKRIH9ZhFTuXNEjAxpCFYpQXh+yiWlviRsuBYrI3Qdb5VFN42wiOBo1WfF3My05 LzDdhSK0lkZAY3BrSP7mO6KLWq380UMmN/cnI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding:x-system-of-record:x-gm-message-state; bh=F/s2zkDaaOOjhXeKUJiNhYNEiLOMDM6zOjV2MhxjFl0=; b=fvDNuhdlOlBP4BXOG5+/daCOKUTQZ7Ix8mkrgKijE5PjbirkWYXWSfyTS6VUD869Fx s72LWz+2IVcKdkeMSjPpjdfXjmJ8k6JJkx+cnpGF2kmonwgs4oQwhghEYmEB+Uqj598l dMg+7ocvp3DjIluWFDPDWENyF26/uVaOIIFtd7iCF7skkf+9EgdSdU54gDhB8ZppDZgl lDdCja4WDWBouTU25Cm0ob1oDCAMxdh2YPwRVUNOmk0InIPQLhjhm8reOoxAYgN2eA6s kSmj2/coJkwMzz5PW75MuXmNAn1gctDcpjfcYJlKxkURpxoU3g6DnRl8GNg3AP7D8lIC y3Tg== Received: by 10.50.187.137 with SMTP id fs9mr11666852igc.50.1335819929497; Mon, 30 Apr 2012 14:05:29 -0700 (PDT) MIME-Version: 1.0 Received: by 10.50.187.137 with SMTP id fs9mr11666848igc.50.1335819929425; Mon, 30 Apr 2012 14:05:29 -0700 (PDT) Received: by 10.231.187.169 with HTTP; Mon, 30 Apr 2012 14:05:29 -0700 (PDT) Date: Mon, 30 Apr 2012 14:05:29 -0700 Message-ID: From: James Dennett Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-System-Of-Record: true X-Gm-Message-State: ALoCoQkl4QwEnoayl5jNeWoTom/XaWC1i7GyEHAuM/4x4jeDnVpVrUrX0YgOMEhCrcGQEtUlPqsL1Kh8M5LvbEnKtqheQxnZ3i5dpuGrFJJpri7I5sBENefVRSUyAkmGeY3+mqwTSEmn446GYTKbs9WzQC9rJ967vg== X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 208.118.235.17 X-Spam-Score: -6.2 (------) X-Mailman-Approved-At: Mon, 30 Apr 2012 17:17:16 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.2 (------) C++ mode gets confused if C++98 code is updated to omit the (now unnecessary) space between the closing ">" angle brackets in template argument lists. To reproduce: Start by typing the following (C++98) code: int foo() { =A0 vector > temp; } So far, so good. Now go back and remove the extra space between the closing angle brackets. =A0This will cause the closing } to not match the opening { (according to emacs), so if you then add another function below foo, you'll get something like: int foo() { =A0 vector> temp; =A0 return 0; } =A0 =A0 =A0 int bar() { =A0 } where the indentation of everything after the function foo() is broken. Matching of the angle brackets is also broken. The buffer can be restored to a good state by erasing and retyping the inner "<" in the type. =A0Adding the extra space and removing it will put the buffer back in a bad state. =A0Reading the code from file (with or without the extra space) also leaves the buffer in a good state. From unknown Fri Aug 15 20:26:34 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.503 (Entity 5.503) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: James Dennett Subject: bug#11386: closed (Re: C++11 support: C++ mode gets (temporarily) confused by edits to convert "> >" to ">>" in templates) Message-ID: References: <2785141.KBdn7lCQKC@descartes> X-Gnu-PR-Message: they-closed 11386 X-Gnu-PR-Package: emacs,cc-mode Reply-To: 11386@debbugs.gnu.org Date: Tue, 18 Nov 2014 17:02:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1416330122-6848-1" This is a multi-part message in MIME format... ------------=_1416330122-6848-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #11386: C++11 support: C++ mode gets (temporarily) confused by edits to con= vert "> >" to ">>" in templates 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 11386@debbugs.gnu.org. --=20 11386: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D11386 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1416330122-6848-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 11386-done) by debbugs.gnu.org; 18 Nov 2014 17:01:06 +0000 Received: from localhost ([127.0.0.1]:37462 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Xqm9J-0001l0-Vx for submit@debbugs.gnu.org; Tue, 18 Nov 2014 12:01:06 -0500 Received: from ptmx.org ([178.63.28.110]:46557) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Xqm9I-0001kq-8N for 11386-done@debbugs.gnu.org; Tue, 18 Nov 2014 12:01:04 -0500 Received: from localhost (localhost [127.0.0.1]) by ptmx.org (Postfix) with ESMTP id EE2992C9FD; Tue, 18 Nov 2014 18:01:02 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at ptmx.org Received: from ptmx.org ([127.0.0.1]) by localhost (ptmx.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DkTT4+UKiOKP; Tue, 18 Nov 2014 18:01:01 +0100 (CET) Received: from descartes.localnet (chello080109100138.16.15.univie.teleweb.at [80.109.100.138]) by ptmx.org (Postfix) with ESMTPSA id 2C87E2C9AD; Tue, 18 Nov 2014 18:01:00 +0100 (CET) From: =?ISO-8859-1?Q?R=FCdiger?= Sonderfeld To: 11386-done@debbugs.gnu.org Subject: Re: C++11 support: C++ mode gets (temporarily) confused by edits to convert "> >" to ">>" in templates Date: Tue, 18 Nov 2014 18:00:51 +0100 Message-ID: <2785141.KBdn7lCQKC@descartes> User-Agent: KMail/4.13.3 (Linux/3.13.0-39-generic; KDE/4.13.3; x86_64; ; ) MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 11386-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) tags 11386 fixed Should be fixed in 66bb9533fc77963c495de7f33ec6dc8e4d342a55 ------------=_1416330122-6848-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 30 Apr 2012 21:17:19 +0000 Received: from localhost ([127.0.0.1]:59359 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SOxyA-0004kj-5j for submit@debbugs.gnu.org; Mon, 30 Apr 2012 17:17:19 -0400 Received: from eggs.gnu.org ([208.118.235.92]:56352) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SOxoH-0004WC-Ng for submit@debbugs.gnu.org; Mon, 30 Apr 2012 17:07:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SOxmq-0003UU-7o for submit@debbugs.gnu.org; Mon, 30 Apr 2012 17:05:37 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:38678) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SOxmq-0003UQ-1t for submit@debbugs.gnu.org; Mon, 30 Apr 2012 17:05:36 -0400 Received: from eggs.gnu.org ([208.118.235.92]:46394) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SOxmo-0004pe-Dv for bug-gnu-emacs@gnu.org; Mon, 30 Apr 2012 17:05:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SOxmm-0003UD-JA for bug-gnu-emacs@gnu.org; Mon, 30 Apr 2012 17:05:33 -0400 Received: from mail-iy0-f169.google.com ([209.85.210.169]:52289) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SOxmm-0003Tl-AZ for bug-gnu-emacs@gnu.org; Mon, 30 Apr 2012 17:05:32 -0400 Received: by iajr24 with SMTP id r24so5916503iaj.0 for ; Mon, 30 Apr 2012 14:05:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlers.com; s=googlers; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding:x-system-of-record; bh=F/s2zkDaaOOjhXeKUJiNhYNEiLOMDM6zOjV2MhxjFl0=; b=YSMppEet1wl5nBQj8KmcfxVoG+sFKf2AXqg3EkqOVf1ewu/KRUf6y3GzDilQ2BQsPk kLrwSjKRIH9ZhFTuXNEjAxpCFYpQXh+yiWlviRsuBYrI3Qdb5VFN42wiOBo1WfF3My05 LzDdhSK0lkZAY3BrSP7mO6KLWq380UMmN/cnI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding:x-system-of-record:x-gm-message-state; bh=F/s2zkDaaOOjhXeKUJiNhYNEiLOMDM6zOjV2MhxjFl0=; b=fvDNuhdlOlBP4BXOG5+/daCOKUTQZ7Ix8mkrgKijE5PjbirkWYXWSfyTS6VUD869Fx s72LWz+2IVcKdkeMSjPpjdfXjmJ8k6JJkx+cnpGF2kmonwgs4oQwhghEYmEB+Uqj598l dMg+7ocvp3DjIluWFDPDWENyF26/uVaOIIFtd7iCF7skkf+9EgdSdU54gDhB8ZppDZgl lDdCja4WDWBouTU25Cm0ob1oDCAMxdh2YPwRVUNOmk0InIPQLhjhm8reOoxAYgN2eA6s kSmj2/coJkwMzz5PW75MuXmNAn1gctDcpjfcYJlKxkURpxoU3g6DnRl8GNg3AP7D8lIC y3Tg== Received: by 10.50.187.137 with SMTP id fs9mr11666852igc.50.1335819929497; Mon, 30 Apr 2012 14:05:29 -0700 (PDT) MIME-Version: 1.0 Received: by 10.50.187.137 with SMTP id fs9mr11666848igc.50.1335819929425; Mon, 30 Apr 2012 14:05:29 -0700 (PDT) Received: by 10.231.187.169 with HTTP; Mon, 30 Apr 2012 14:05:29 -0700 (PDT) Date: Mon, 30 Apr 2012 14:05:29 -0700 Message-ID: Subject: C++11 support: C++ mode gets (temporarily) confused by edits to convert "> >" to ">>" in templates From: James Dennett To: bug-gnu-emacs@gnu.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-System-Of-Record: true X-Gm-Message-State: ALoCoQkl4QwEnoayl5jNeWoTom/XaWC1i7GyEHAuM/4x4jeDnVpVrUrX0YgOMEhCrcGQEtUlPqsL1Kh8M5LvbEnKtqheQxnZ3i5dpuGrFJJpri7I5sBENefVRSUyAkmGeY3+mqwTSEmn446GYTKbs9WzQC9rJ967vg== X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 208.118.235.17 X-Spam-Score: -6.2 (------) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Mon, 30 Apr 2012 17:17:16 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.2 (------) C++ mode gets confused if C++98 code is updated to omit the (now unnecessary) space between the closing ">" angle brackets in template argument lists. To reproduce: Start by typing the following (C++98) code: int foo() { =A0 vector > temp; } So far, so good. Now go back and remove the extra space between the closing angle brackets. =A0This will cause the closing } to not match the opening { (according to emacs), so if you then add another function below foo, you'll get something like: int foo() { =A0 vector> temp; =A0 return 0; } =A0 =A0 =A0 int bar() { =A0 } where the indentation of everything after the function foo() is broken. Matching of the angle brackets is also broken. The buffer can be restored to a good state by erasing and retyping the inner "<" in the type. =A0Adding the extra space and removing it will put the buffer back in a bad state. =A0Reading the code from file (with or without the extra space) also leaves the buffer in a good state. ------------=_1416330122-6848-1-- From unknown Fri Aug 15 20:26:34 2025 X-Loop: help-debbugs@gnu.org Subject: bug#11386: C++11 support: C++ mode gets (temporarily) confused by edits to convert "> >" to ">>" in templates References: Resent-From: Alan Mackenzie Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org, bug-cc-mode@gnu.org Resent-Date: Tue, 18 Nov 2014 21:16:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 11386 X-GNU-PR-Package: emacs,cc-mode X-GNU-PR-Keywords: To: R?diger Sonderfeld Cc: 11386@debbugs.gnu.org Received: via spool by 11386-submit@debbugs.gnu.org id=B11386.141634532430837 (code B ref 11386); Tue, 18 Nov 2014 21:16:02 +0000 Received: (at 11386) by debbugs.gnu.org; 18 Nov 2014 21:15:24 +0000 Received: from localhost ([127.0.0.1]:37597 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Xqq7P-00081I-SP for submit@debbugs.gnu.org; Tue, 18 Nov 2014 16:15:24 -0500 Received: from colin.muc.de ([193.149.48.1]:52940 helo=mail.muc.de) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Xqq7M-000819-T2 for 11386@debbugs.gnu.org; Tue, 18 Nov 2014 16:15:22 -0500 Received: (qmail 65987 invoked by uid 3782); 18 Nov 2014 21:15:19 -0000 Date: 18 Nov 2014 21:15:19 -0000 Message-ID: <20141118211519.65986.qmail@mail.muc.de> From: Alan Mackenzie Organization: muc.de e.V. In-Reply-To: X-Newsgroups: gnu.emacs.bug User-Agent: tin/2.2.0-20131224 ("Lochindaal") (UNIX) (FreeBSD/8.4-RELEASE (amd64)) X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Guten Abend, Ruediger. In article you wrote: > tags 11386 fixed > Should be fixed in 66bb9533fc77963c495de7f33ec6dc8e4d342a55 OUTCH!!! Any chance you could be a little more informative with messages like this, please? The message as it stands suggests "I have just committed a fix as revision 66bb95...". The id 66bb95..., like all ids in git, carries no context, no age, no nothing. Better would have been to use the "present perfect" tense: "Should have been fixed in 66bb95...", which would have placed the action of fixing in the non-immediate past. Better still would have been to give details of the fix, something like "Should have been fixed in 66bb953... by Alan Mackenzie in August, title line "Make ">>" act as double template ender in C++ Mode."". Possibly the best thing of all would have been to construct an Eric Raymond style commit identifier, but I haven't got the syntax memorised yet. Any of these would have prevented me errupting in uncalled-for panic and fury. Thanks! -- Alan Mackenzie (Nuremberg, Germany).