From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Kevin Burge Newsgroups: gmane.emacs.bugs Subject: bug#12926: emacs 4.2: cc-mode confused by indented preprocessor statements Date: Sun, 18 Nov 2012 11:15:28 -0600 Organization: Systemware, Inc. Message-ID: <87haomygr3.wl%kevin.burge@systemware.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 (generated by SEMI 1.14.7 - "Harue") Content-Type: text/plain; charset="US-ASCII" X-Trace: ger.gmane.org 1353261314 16487 80.91.229.3 (18 Nov 2012 17:55:14 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 18 Nov 2012 17:55:14 +0000 (UTC) To: 12926@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Nov 18 18:55:25 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Ta95W-0002OE-DZ for geb-bug-gnu-emacs@m.gmane.org; Sun, 18 Nov 2012 18:55:22 +0100 Original-Received: from localhost ([::1]:54063 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ta95M-0003lR-BA for geb-bug-gnu-emacs@m.gmane.org; Sun, 18 Nov 2012 12:55:12 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:60002) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ta95G-0003i4-Es for bug-gnu-emacs@gnu.org; Sun, 18 Nov 2012 12:55:09 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ta95D-000861-CJ for bug-gnu-emacs@gnu.org; Sun, 18 Nov 2012 12:55:06 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:42949) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ta95D-00085t-8W for bug-gnu-emacs@gnu.org; Sun, 18 Nov 2012 12:55:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1Ta969-0002Ic-Ry for bug-gnu-emacs@gnu.org; Sun, 18 Nov 2012 12:56:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Kevin Burge Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 18 Nov 2012 17:56:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 12926 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: Original-Received: via spool by submit@debbugs.gnu.org id=B.13532613588826 (code B ref -1); Sun, 18 Nov 2012 17:56:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 18 Nov 2012 17:55:58 +0000 Original-Received: from localhost ([127.0.0.1]:53200 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Ta965-0002II-Hg for submit@debbugs.gnu.org; Sun, 18 Nov 2012 12:55:58 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:38029) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Ta8UC-0001Os-G4 for submit@debbugs.gnu.org; Sun, 18 Nov 2012 12:16:49 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ta8TC-0006iN-JQ for submit@debbugs.gnu.org; Sun, 18 Nov 2012 12:15:49 -0500 Original-Received: from lists.gnu.org ([208.118.235.17]:55678) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ta8TC-0006iJ-Bj for submit@debbugs.gnu.org; Sun, 18 Nov 2012 12:15:46 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:55815) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ta8T9-0004Wd-5v for bug-gnu-emacs@gnu.org; Sun, 18 Nov 2012 12:15:46 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ta8T6-0006gz-3L for bug-gnu-emacs@gnu.org; Sun, 18 Nov 2012 12:15:43 -0500 Original-Received: from ironport.systemware.com ([76.195.115.151]:28810) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ta8T5-0006gj-Ue for bug-gnu-emacs@gnu.org; Sun, 18 Nov 2012 12:15:40 -0500 Received-SPF: None (ironport.systemware.com: no sender authenticity information available from domain of kevin.burge@systemware.com) identity=pra; client-ip=172.16.10.100; receiver=ironport.systemware.com; envelope-from="kevin.burge@systemware.com"; x-sender="kevin.burge@systemware.com"; x-conformance=sidf_compatible Received-SPF: SoftFail (ironport.systemware.com: domain of kevin.burge@systemware.com is inclined to not designate 172.16.10.100 as permitted sender) identity=mailfrom; client-ip=172.16.10.100; receiver=ironport.systemware.com; envelope-from="kevin.burge@systemware.com"; x-sender="kevin.burge@systemware.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (ironport.systemware.com: no sender authenticity information available from domain of postmaster@swexchange.usa.systemware.com) identity=helo; client-ip=172.16.10.100; receiver=ironport.systemware.com; envelope-from="kevin.burge@systemware.com"; x-sender="postmaster@swexchange.usa.systemware.com"; x-conformance=sidf_compatible User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI/1.14.7 (Harue) FLIM/1.14.9 (=?UTF-8?Q?Goj=C5=8D?=) APEL/10.8 Emacs/24.2 (x86_64-unknown-linux-gnu) MULE/6.0 (HANACHIRUSATO) 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.x X-Spam-Score: -3.5 (---) X-Mailman-Approved-At: Sun, 18 Nov 2012 12:55:56 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-Spam-Score: -3.5 (---) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:67130 Archived-At: - If you indent the following code with gcc 4.2, by highlighting lines 06-10 and indenting, it confuses line 07 as the first line of a function rather than the first line of a statement, and so everything is shifted left. - If you move the preprocessor lines 02 and 04 back to column 1, it indents correctly. - If you change "#if defined(A)" to "#if 0" while still indented, it indents correctly. There is just something that cc-mode does not like about indented preprocessor statements. 4.1 exhibited the same behavior, and prevents us from upgrading from 23.4. IMPORTANT: you MUST close and re-open the file between these tests because the caching in cc-mode interferes with the results. 01 int f(void) { 02 #if defined(A) 03 printf("test\n"); 04 #endif 05 06 if (test) { 07 int i = 0; 08 printf(); 09 } 10 } The source: int f(void) { #if defined(A) printf("test\n"); #endif if (test) { int i = 0; printf(); } } Thank you, Kevin Burge