From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 08 13:04:09 2020 Received: (at submit) by debbugs.gnu.org; 8 Jul 2020 17:04:09 +0000 Received: from localhost ([127.0.0.1]:39000 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jtDUO-0000gH-TW for submit@debbugs.gnu.org; Wed, 08 Jul 2020 13:04:09 -0400 Received: from lists.gnu.org ([209.51.188.17]:47058) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jtDUN-0000g9-Ec for submit@debbugs.gnu.org; Wed, 08 Jul 2020 13:04:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55716) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jtDUN-00063x-8Q for bug-gnu-emacs@gnu.org; Wed, 08 Jul 2020 13:04:07 -0400 Received: from sonic311-14.consmr.mail.bf2.yahoo.com ([74.6.131.124]:35567) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jtDUK-0002Ty-RC for bug-gnu-emacs@gnu.org; Wed, 08 Jul 2020 13:04:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1594227841; bh=UkaVSNlmSZpob/tUPQEAiAKoXKfe2r8LSP93F9TD+II=; h=Date:From:To:Subject:References:From:Subject; b=mvHap1kx1WbU52kMr5ImRG0mFCaBRPJEe4Rh1IYRp91VY0JVM4blTBQOa/+zacIbODxbQbaJAKuQvNef2sy+Yht7UCgOs7wEu7S+fSes/xKpw72/BV5KoBhiMRIi4lIzutoXB4G1ymXFdWccfVoEF1mQaq3aQsD7oTo8dfsiNIv2RtN+Bo65vGXvLeeIym7R9MuxkOH2ufWt905iVSXwjyDWpWPiho74GCMnMg72RVSDmjMPDS7+XN+PjM3sn1u0pOjPRqIkVZwzQQguGKmVtJMqMoYCZ4orvfGDm9kfsU3Ji0XXXGPnlWrNU6LY/CV6/TSlOM411yawJadliHaA+Q== X-YMail-OSG: yuexOpsVM1ku2GgZknP7w0NrWElU1PcNaeClh3y2wZOrHsgdTMjgGn5LvOzY6X3 85yeGKzOpfBaWIrW1LVGb9HUhe3_TGxQg_wKoSPmCynT.uMmyLqmG3YVaHy.sCpeFNhdoV8Pqilb l1rEqCA1cw_51pD0oOLaLc2xnmGy4vnQTzLAOF4.inOvVa1BbJimN2KrKZOCfBZTRO0gvTa.TSsK gDpvXqIvUNiPpb3zudidaDa7KRkGpnuBoEHdQ14d2P62MTlaNtMX1QpTxseOaVKhSjXRkTdMKnzH loTM71l33su2MS.Ab0laZ6vSxIa4jCxL46fQsQYGn_skuknsY3rzee6bLldswzc16SuE6Tz4a.wS mAwsj8Hq8_GA0UTxVDlAoc7y1VDCPAy1yHabu_UcQilQi2MDqegMlycxYRVqU8ACfhKJubuJdJm1 X6fX2jAUyKjAYBxTgl_IDIcU_9ueG1Zg1KZsjAhcSZzYZSmbTokT5Hh28fxL0C_BXKqHOhQLPWYW bQZWdWaOugG3LqyIc2jlVKflHT3gEF9BPcfa95JgEmg0DmRSc4AGL1eAvdYXP8xoKXDTy1w8DnU_ Fk6_gPuJNvB0RQy4az2bT.UXxLrQUCrlovbsIoFbBRqzGKOG3Hly7n74m7Gb27c9V2pPmGtplsX5 YUVpa15YKPBBcWDibfRUpuC4sJ0NfcOtpJ0R_DrGVkpt.59Ls0AFlgq1jOoWnRK4VzuePQ.yc7dd jgWCQ7l1XT.wb8fnB45iQZNoUpn2s5jxQvZCF8zf6kigIlpLbWqzgyPvaVT8zwfl0QRguWYZoTyO oK6WQJTjDsjBJD2wD5oLQaksvcnrJt6OHjXtVNNU.6cH1ogFEjbtuXYPl9Q0zeoxwty6PxUSFm6N tp4LQcoSDTwEVzz6EiYcOwye5Et_DWoJAz9FBQSGsbMIhuZekNcqaBh70DS_1jn2bFlf1mrBwbAF h.70OIh_G2qbykOzYpGoFz2b2G5t7.h0UriNhBU1krpRLYqvD5gvBYyuOcMZiobuT83un11Up2tC qwSjQbt0Baq.X6p7JJHd7k3B4PIOMl249OjPIeKtG.sFTKV65OKeAjZ.SqBl5pYC82pbGW9Rw581 ligHKZBeei0s2YH_Y6fTsMa9BQ4jS7UUh4ELhO60R289GA_SrU9GmHYRg1IapgOR5k6XIji6EQYV UeMA6ZGrlu9_BKhBOsHswLRMDx7BPkI22IdCKySuze3oFAjblsS.ZpDRkp7r2GZYcCbuGZfeU8tQ yM1xEO.ltj6mp2gcIZwjk_jhtcUBmWFHGKS.ib.yuLyz34oGFz6xjzrSpZp17vdbEEvmaJIO2xtP UFeBvVHLu557D8SmTbIMVM2PMeuScdCyBjp89PLamWWf3yIhmNQ-- Received: from sonic.gate.mail.ne1.yahoo.com by sonic311.consmr.mail.bf2.yahoo.com with HTTP; Wed, 8 Jul 2020 17:04:01 +0000 Received: by smtp431.mail.ir2.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID b5447fcd7eef588cabe0039f5f29b329; Wed, 08 Jul 2020 17:03:59 +0000 (UTC) Date: Wed, 8 Jul 2020 19:03:58 +0200 From: Ergus To: bug-gnu-emacs@gnu.org Subject: 28.0.50; cc-mode indentation issue with attributes Message-ID: <20200708170358.sn4omf4vk3jlks4x@ergus> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline User-Agent: NeoMutt/20180716 References: <20200708170358.sn4omf4vk3jlks4x.ref@ergus> X-Mailer: WebService/1.1.16197 hermes_aol Apache-HttpAsyncClient/4.1.4 (Java/11.0.7) Content-Length: 3446 Received-SPF: pass client-ip=74.6.131.124; envelope-from=spacibba@aol.com; helo=sonic311-14.consmr.mail.bf2.yahoo.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/07/08 11:29:37 X-ACL-Warn: Detected OS = Linux 3.1-3.10 [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -2.3 (--) Hi: Working in C++ I am getting this indentation difference when arguments has attributes or not: TaskDataAccesses(TaskDataAccessesInfo taskAccessInfo) : _lock(), _accesses(), _accessFragments(), _taskwaitFragments() { } TaskDataAccesses(__attribute__((unused)) TaskDataAccessesInfo taskAccessInfo) : _lock(), _accesses(), _accessFragments(), _taskwaitFragments() { } The problem seems to be that in the first case the `:` indentation symbol (C-c C-o) is recognised as `member-init-intro` (correct) but in the second one it is detected as a `topmost-intro-cont` which is actually wrong. Best, Ergus In GNU Emacs 28.0.50 (build 10, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0, Xaw scroll bars) of 2020-07-07 built on ergus Repository revision: df3ece9d2ed61c9526dbf718e3c96d72bd53dccb Repository branch: master System Description: Debian GNU/Linux 10 (buster) Recent messages: For information about GNU Emacs and the GNU system, type C-h C-a. Configured using: 'configure --prefix=/home/ergus/.local/ --with-mailutils' Configured features: XPM JPEG TIFF GIF PNG CAIRO SOUND DBUS GSETTINGS GLIB NOTIFY INOTIFY LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ ZLIB TOOLKIT_SCROLL_BARS LUCID X11 XDBE XIM MODULES THREADS PDUMPER GMP Important settings: value of $LANG: en_GB.UTF-8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs rfc822 mml easymenu mml-sec password-cache epa derived epg epg-config gnus-util rmail rmail-loaddefs text-property-search time-date subr-x seq mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils term/tmux term/xterm xterm byte-opt gv bytecomp byte-compile cconv tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads dbusbind inotify dynamic-setting system-font-setting font-render-setting cairo x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 48788 5097) (symbols 48 6074 1) (strings 32 15630 1699) (string-bytes 1 506737) (vectors 16 7254) (vector-slots 8 75610 8410) (floats 8 22 231) (intervals 56 180 0) (buffers 992 10)) From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 05 08:13:45 2020 Received: (at 42270) by debbugs.gnu.org; 5 Sep 2020 12:13:45 +0000 Received: from localhost ([127.0.0.1]:41699 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kEX4j-0000mB-HV for submit@debbugs.gnu.org; Sat, 05 Sep 2020 08:13:45 -0400 Received: from colin.muc.de ([193.149.48.1]:49767 helo=mail.muc.de) by debbugs.gnu.org with smtp (Exim 4.84_2) (envelope-from ) id 1kEX4g-0000lo-Ki for 42270@debbugs.gnu.org; Sat, 05 Sep 2020 08:13:43 -0400 Received: (qmail 73033 invoked by uid 3782); 5 Sep 2020 12:13:35 -0000 Received: from acm.muc.de (p2e5d530f.dip0.t-ipconnect.de [46.93.83.15]) by localhost.muc.de (tmda-ofmipd) with ESMTP; Sat, 05 Sep 2020 14:13:35 +0200 Received: (qmail 6113 invoked by uid 1000); 5 Sep 2020 12:13:35 -0000 Date: Sat, 5 Sep 2020 12:13:35 +0000 To: Ergus Subject: Re: bug#42270: 28.0.50; cc-mode indentation issue with attributes Message-ID: <20200905121335.GA5479@ACM> References: <20200708170358.sn4omf4vk3jlks4x.ref@ergus> <20200708170358.sn4omf4vk3jlks4x@ergus> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200708170358.sn4omf4vk3jlks4x@ergus> X-Delivery-Agent: TMDA/1.1.12 (Macallan) From: Alan Mackenzie X-Primary-Address: acm@muc.de X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42270 Cc: acm@muc.de, 42270@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.0 (-) Hello, Ergus. Thanks for the bug report. On Wed, Jul 08, 2020 at 19:03:58 +0200, Ergus wrote: > Hi: > Working in C++ I am getting this indentation difference when arguments > has attributes or not: > TaskDataAccesses(TaskDataAccessesInfo taskAccessInfo) > : _lock(), > _accesses(), > _accessFragments(), _taskwaitFragments() > { > } > TaskDataAccesses(__attribute__((unused)) TaskDataAccessesInfo taskAccessInfo) > : _lock(), > _accesses(), > _accessFragments(), _taskwaitFragments() > { > } > The problem seems to be that in the first case the `:` indentation > symbol (C-c C-o) is recognised as `member-init-intro` (correct) but in > the second one it is detected as a `topmost-intro-cont` which is > actually wrong. Yes, indeed. There were also problems with the fontification in similar fragments, e.g.: TaskDataAccesses(foo((unused)) TaskDataAccessesInfo taskAccessInfo) : _lock(), _accesses(), _accessFragments(), _taskwaitFragments() { } , where typing into "foo" removed the fontification from "Task...unused))", which got replaced on the next redisplay (e.g. after typing M-x). I think the patch below fixes all these problems. Would you please apply it, rebuild CC Mode, load it, and try it out on your real source code. A fairly thorough test would be appreciated, here. Then please let me know if the bug is actually fixed, and whether there are any "strange things" happening. Thanks! > Best, > Ergus > In GNU Emacs 28.0.50 (build 10, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0, Xaw scroll bars) > of 2020-07-07 built on ergus > Repository revision: df3ece9d2ed61c9526dbf718e3c96d72bd53dccb > Repository branch: master > System Description: Debian GNU/Linux 10 (buster) diff -r 877c4ad9dae8 cc-engine.el --- a/cc-engine.el Sat Jul 04 16:23:06 2020 +0000 +++ b/cc-engine.el Sat Sep 05 11:53:51 2020 +0000 @@ -2243,7 +2243,7 @@ ((and c-opt-cpp-prefix (looking-at c-noise-macro-name-re)) - ;; Skip over a noise macro. + ;; Skip over a noise macro without parens. (goto-char (match-end 1)) (not (eobp))) @@ -9141,6 +9141,12 @@ (catch 'is-function (while (progn + (while + (cond + ((looking-at c-decl-hangon-key) + (c-forward-keyword-clause 1)) + ((looking-at c-noise-macro-with-parens-name-re) + (c-forward-noise-clause)))) (if (eq (char-after) ?\)) (throw 'is-function t)) (setq cdd-got-type (c-forward-type)) @@ -9789,6 +9795,16 @@ (save-excursion (goto-char after-paren-pos) (c-forward-syntactic-ws) + (progn + (while + (cond + ((and + c-opt-cpp-prefix + (looking-at c-noise-macro-with-parens-name-re)) + (c-forward-noise-clause)) + ((looking-at c-decl-hangon-key) + (c-forward-keyword-clause 1)))) + t) (or (c-forward-type) ;; Recognize a top-level typeless ;; function declaration in C. diff -r 877c4ad9dae8 cc-mode.el --- a/cc-mode.el Sat Jul 04 16:23:06 2020 +0000 +++ b/cc-mode.el Sat Sep 05 11:53:51 2020 +0000 @@ -2236,7 +2236,8 @@ (defun c-fl-decl-end (pos) ;; If POS is inside a declarator, return the end of the token that follows ;; the declarator, otherwise return nil. POS being in a literal does not - ;; count as being in a declarator (on pragmatic grounds). + ;; count as being in a declarator (on pragmatic grounds). POINT is not + ;; preserved. (goto-char pos) (let ((lit-start (c-literal-start)) enclosing-attribute pos1) @@ -2249,12 +2250,31 @@ (let ((lim (save-excursion (and (c-beginning-of-macro) (progn (c-end-of-macro) (point)))))) - (when (and (c-forward-declarator lim) - (or (not (eq (char-after) ?\()) - (c-go-list-forward nil lim)) - (eq (c-forward-token-2 1 nil lim) 0)) - (c-backward-syntactic-ws) - (point))))))) + (and (c-forward-declarator lim) + (if (eq (char-after) ?\() + (and + (c-go-list-forward nil lim) + (progn (c-forward-syntactic-ws lim) + (not (eobp))) + (progn + (if (looking-at c-symbol-char-key) + ;; Deal with baz (foo((bar)) type var), where + ;; foo((bar)) is not semantically valid. The result + ;; must be after var). + (and + (goto-char pos) + (setq pos1 (c-on-identifier)) + (goto-char pos1) + (progn + (c-backward-syntactic-ws) + (eq (char-before) ?\()) + (c-fl-decl-end (1- (point)))) + (c-backward-syntactic-ws) + (point)))) + (and (progn (c-forward-syntactic-ws lim) + (not (eobp))) + (c-backward-syntactic-ws) + (point))))))))) (defun c-change-expand-fl-region (beg end old-len) ;; Expand the region (c-new-BEG c-new-END) to an after-change font-lock diff -r 877c4ad9dae8 cc-vars.el --- a/cc-vars.el Sat Jul 04 16:23:06 2020 +0000 +++ b/cc-vars.el Sat Sep 05 11:53:51 2020 +0000 @@ -1668,7 +1668,8 @@ like \"INLINE\" which are syntactic noise. Such a macro/extension is complete in itself, never having parentheses. All these names must be syntactically valid identifiers. Alternatively, this variable may be a regular expression -which matches the names of such macros. +which matches the names of such macros, in which case it must have a submatch +1 which matches the actual noise macro name. If you change this variable's value, call the function `c-make-noise-macro-regexps' to set the necessary internal variables (or do @@ -1683,7 +1684,8 @@ which optionally have arguments in parentheses, and which expand to nothing. All these names must be syntactically valid identifiers. These are recognized by CC Mode only in declarations. Alternatively, this variable may be a -regular expression which matches the names of such macros. +regular expression which matches the names of such macros, in which case it +must have a submatch 1 which matches the actual noise macro name. If you change this variable's value, call the function `c-make-noise-macro-regexps' to set the necessary internal variables (or do -- Alan Mackenzie (Nuremberg, Germany). From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 07 06:05:03 2020 Received: (at 42270) by debbugs.gnu.org; 7 Sep 2020 10:05:03 +0000 Received: from localhost ([127.0.0.1]:48118 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kFE1H-0007Jn-6T for submit@debbugs.gnu.org; Mon, 07 Sep 2020 06:05:03 -0400 Received: from sonic304-56.consmr.mail.bf2.yahoo.com ([74.6.128.31]:40812) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kFE1E-0007JD-DK for 42270@debbugs.gnu.org; Mon, 07 Sep 2020 06:05:01 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1599473094; bh=qO65+Xwlbm6kaG2XLHPh9GWeiwQvjas/piFAobNT2yk=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From:Subject; b=qGOyA0t2IA8k4mwQI2zwGjs0fFLSypOXI0Aa9OwgKcPYkz+ngnvg8nqXXYl9RasEvZ1V80XOYV5BMpngroq7RmAlTBPc2p5MTFpI9ydl3ai/HMLTACDzjyCuXNBCPiT2fz3IFY8Scv2rc4pdBF/aFveVQwZThmfT1H1LL0u5Q7CyrDAI4QCt/c0D/IG/sDUfnOc4kNr8LcwL3QFC6iIDZJ6eXjozO9sH0eiw3txRuyBeeT/NWoklQkbjbWrrGrYH/DP7yh42xaBHx5syGdRp8v3MfrT6G9kv2xlxzxiSq/C6BU2+4EKm7zvaXCJKeYItYATGgneMQryFtfmn2pGwcg== X-YMail-OSG: st80ZI0VM1l8WRDVeiYc7AeGaR6Uaqp8Upg5W6bATzGQbDcT3VB.N6T4jZy08sI 9Y_Am7mFmyTS307YMJBo.yuyGPxJNF1eczFZPLlFkPJeBgqqkcuyj2FG3kHEzlPEsr_3nQTHNwx_ Mu0vPjI0y0kHU6EFHr7n._KCIoVpGCKrQ1IrntlgX1V3pl1qV_ETLAQXbiE1TMErGmlzjNlZEIn_ FZY84dhCm7VMzj7cNfjxM0qOA87UotG8NXkb0lNW8sqOqLGDtamnUL6HUmZlu28A63HyYdvATR8C iyruUpl3qCnT4Pj0V4amAa4jWk7Ee.gJvSYvMDXW.twX4yWj.zh6N525.E2yo073BfjkOdK94Edo Zl4zQQ36bCf3a5vsM3OW88veKs4T8F9yuakIu3e0rzoq03nxApha9xwslCqv0tYeZXRCmD9J9wk9 qYaRKdTYmZfeyd38EAJ22z0hwiGwtze2IrC3X_uvA5PK_Ftxw0PkCMvydesG9SO7vtkTE_U7mt9H dOehDugKMtVkfJBOkLwviCxp.1NlVQopYrFPh_g_lN8X_Ba.4_4gqZBA4DwSAFuXAR0mKunRPvGp PVbDy5oqmwYfgVXvUFjMoT4_xt4HsO1yjVCFvBBCJioXv3LTX57NCFdMGTL6mb9dH0ZCG1G_rrhD XKlvjsqIBUs396w9SjzQxBLbqv0_PdwLGQDwg9nWx_YP9uk96Z7QVdJkvByC5bZ7PlP.BEO22HeF IpH8eo6iiTn8PUACtHlzNWgsYp_fW_8_b0LGUHPI.ns.lZjMLRylEUB3XGiZO2T4EtloJsNuZhw8 6sGdAl.UuVVhl0zdAMTrn42_PSSTRDctUBVICgA69wqEo.jcKkJGwuYE2PfwWYuiWwDoYQZlGu01 uQlEh7uK.KoEByEoHztrswUDjWCZ4BhQ5td8HP3P7RgwChn0hhgwCs07ycv2igbxN6ITIH1hDGZ. vug2pynzvODn3xxuiFj.zA4r_5l_qI0DHJ_Zsec5Wy.DCm5sADd0BxBI2QJ8yfZTkuKdG4m5Wopi EtVtxcCenvydj1G2r_QsoyhA_cGEBhxNIkmmqC_pHSr.Oekx0IApVhpVQA68xTFTEYiqJYLApN0b G19yuu0JBu7YvIF351KBD4MM6AIT3zvqw81Dla7hZc6WMlvLa_Uegg3oPhMsbkunqALMnLxPbC7I tBiu7twxGWUG4UNUduD4djNFaFQhZtelI2KHH1Ltlriwfr4sq8PxpIdgGZkUNUwx28xj2X3nKGKS UEl8mn.Jyz9Pgqesj2C3P__fsGMo.JCYr6YmSQBh98HQjzyXh2PTABapF8NolWhl6PxCJ1_LVPVV MP_p5FD674tszb1xQjjQfjeNiANUpuaETxHT7eoAEskXanps0kALpubxe255iNSqcSuiSXgxtpaG wxZMQIKD8qSfkzl4rS3bo9RomahubAlcJpPp5uihN_NhLTVg4Ek3blcJJFSYskbHAF8IKUY6M6gN oVQ.x3wj9olhr5Of8ntnHg2R58r969q60.SmElMVBal8Sxf8x2yd1ygHPTkAP4XmtCAm6Ju7Oh87 xGU9kKFPO Received: from sonic.gate.mail.ne1.yahoo.com by sonic304.consmr.mail.bf2.yahoo.com with HTTP; Mon, 7 Sep 2020 10:04:54 +0000 Received: by smtp409.mail.bf1.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID 4de8408cb2580a8e147a9b7a31ec757f; Mon, 07 Sep 2020 10:04:50 +0000 (UTC) Date: Mon, 7 Sep 2020 12:04:45 +0200 From: Ergus To: Alan Mackenzie Subject: Re: bug#42270: 28.0.50; cc-mode indentation issue with attributes Message-ID: <20200907100445.gf4puqrlt2mcju5k@Ergus> References: <20200708170358.sn4omf4vk3jlks4x.ref@ergus> <20200708170358.sn4omf4vk3jlks4x@ergus> <20200905121335.GA5479@ACM> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: <20200905121335.GA5479@ACM> X-Mailer: WebService/1.1.16565 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol Apache-HttpAsyncClient/4.1.4 (Java/11.0.7) Content-Length: 6497 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42270 Cc: 42270@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.0 (-) Hi Alan: I will try it now and give you some feed back this week. Very thanks, On Sat, Sep 05, 2020 at 12:13:35PM +0000, Alan Mackenzie wrote: >Hello, Ergus. > >Thanks for the bug report. > >On Wed, Jul 08, 2020 at 19:03:58 +0200, Ergus wrote: >> Hi: > >> Working in C++ I am getting this indentation difference when arguments >> has attributes or not: > >> TaskDataAccesses(TaskDataAccessesInfo taskAccessInfo) >> : _lock(), >> _accesses(), >> _accessFragments(), _taskwaitFragments() >> { >> } > > >> TaskDataAccesses(__attribute__((unused)) TaskDataAccessesInfo taskAccessInfo) >> : _lock(), >> _accesses(), >> _accessFragments(), _taskwaitFragments() >> { >> } > >> The problem seems to be that in the first case the `:` indentation >> symbol (C-c C-o) is recognised as `member-init-intro` (correct) but in >> the second one it is detected as a `topmost-intro-cont` which is >> actually wrong. > >Yes, indeed. There were also problems with the fontification in similar >fragments, e.g.: > > TaskDataAccesses(foo((unused)) TaskDataAccessesInfo taskAccessInfo) > : _lock(), > _accesses(), > _accessFragments(), _taskwaitFragments() > { > } > >, where typing into "foo" removed the fontification from >"Task...unused))", which got replaced on the next redisplay (e.g. after >typing M-x). > >I think the patch below fixes all these problems. Would you please apply >it, rebuild CC Mode, load it, and try it out on your real source code. A >fairly thorough test would be appreciated, here. Then please let me know >if the bug is actually fixed, and whether there are any "strange things" >happening. Thanks! > >> Best, >> Ergus > >> In GNU Emacs 28.0.50 (build 10, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0, Xaw scroll bars) >> of 2020-07-07 built on ergus >> Repository revision: df3ece9d2ed61c9526dbf718e3c96d72bd53dccb >> Repository branch: master >> System Description: Debian GNU/Linux 10 (buster) > > > >diff -r 877c4ad9dae8 cc-engine.el >--- a/cc-engine.el Sat Jul 04 16:23:06 2020 +0000 >+++ b/cc-engine.el Sat Sep 05 11:53:51 2020 +0000 >@@ -2243,7 +2243,7 @@ > > ((and c-opt-cpp-prefix > (looking-at c-noise-macro-name-re)) >- ;; Skip over a noise macro. >+ ;; Skip over a noise macro without parens. > (goto-char (match-end 1)) > (not (eobp))) > >@@ -9141,6 +9141,12 @@ > (catch 'is-function > (while > (progn >+ (while >+ (cond >+ ((looking-at c-decl-hangon-key) >+ (c-forward-keyword-clause 1)) >+ ((looking-at c-noise-macro-with-parens-name-re) >+ (c-forward-noise-clause)))) > (if (eq (char-after) ?\)) > (throw 'is-function t)) > (setq cdd-got-type (c-forward-type)) >@@ -9789,6 +9795,16 @@ > (save-excursion > (goto-char after-paren-pos) > (c-forward-syntactic-ws) >+ (progn >+ (while >+ (cond >+ ((and >+ c-opt-cpp-prefix >+ (looking-at c-noise-macro-with-parens-name-re)) >+ (c-forward-noise-clause)) >+ ((looking-at c-decl-hangon-key) >+ (c-forward-keyword-clause 1)))) >+ t) > (or (c-forward-type) > ;; Recognize a top-level typeless > ;; function declaration in C. >diff -r 877c4ad9dae8 cc-mode.el >--- a/cc-mode.el Sat Jul 04 16:23:06 2020 +0000 >+++ b/cc-mode.el Sat Sep 05 11:53:51 2020 +0000 >@@ -2236,7 +2236,8 @@ > (defun c-fl-decl-end (pos) > ;; If POS is inside a declarator, return the end of the token that follows > ;; the declarator, otherwise return nil. POS being in a literal does not >- ;; count as being in a declarator (on pragmatic grounds). >+ ;; count as being in a declarator (on pragmatic grounds). POINT is not >+ ;; preserved. > (goto-char pos) > (let ((lit-start (c-literal-start)) > enclosing-attribute pos1) >@@ -2249,12 +2250,31 @@ > (let ((lim (save-excursion > (and (c-beginning-of-macro) > (progn (c-end-of-macro) (point)))))) >- (when (and (c-forward-declarator lim) >- (or (not (eq (char-after) ?\()) >- (c-go-list-forward nil lim)) >- (eq (c-forward-token-2 1 nil lim) 0)) >- (c-backward-syntactic-ws) >- (point))))))) >+ (and (c-forward-declarator lim) >+ (if (eq (char-after) ?\() >+ (and >+ (c-go-list-forward nil lim) >+ (progn (c-forward-syntactic-ws lim) >+ (not (eobp))) >+ (progn >+ (if (looking-at c-symbol-char-key) >+ ;; Deal with baz (foo((bar)) type var), where >+ ;; foo((bar)) is not semantically valid. The result >+ ;; must be after var). >+ (and >+ (goto-char pos) >+ (setq pos1 (c-on-identifier)) >+ (goto-char pos1) >+ (progn >+ (c-backward-syntactic-ws) >+ (eq (char-before) ?\()) >+ (c-fl-decl-end (1- (point)))) >+ (c-backward-syntactic-ws) >+ (point)))) >+ (and (progn (c-forward-syntactic-ws lim) >+ (not (eobp))) >+ (c-backward-syntactic-ws) >+ (point))))))))) > > (defun c-change-expand-fl-region (beg end old-len) > ;; Expand the region (c-new-BEG c-new-END) to an after-change font-lock >diff -r 877c4ad9dae8 cc-vars.el >--- a/cc-vars.el Sat Jul 04 16:23:06 2020 +0000 >+++ b/cc-vars.el Sat Sep 05 11:53:51 2020 +0000 >@@ -1668,7 +1668,8 @@ > like \"INLINE\" which are syntactic noise. Such a macro/extension is complete > in itself, never having parentheses. All these names must be syntactically > valid identifiers. Alternatively, this variable may be a regular expression >-which matches the names of such macros. >+which matches the names of such macros, in which case it must have a submatch >+1 which matches the actual noise macro name. > > If you change this variable's value, call the function > `c-make-noise-macro-regexps' to set the necessary internal variables (or do >@@ -1683,7 +1684,8 @@ > which optionally have arguments in parentheses, and which expand to nothing. > All these names must be syntactically valid identifiers. These are recognized > by CC Mode only in declarations. Alternatively, this variable may be a >-regular expression which matches the names of such macros. >+regular expression which matches the names of such macros, in which case it >+must have a submatch 1 which matches the actual noise macro name. > > If you change this variable's value, call the function > `c-make-noise-macro-regexps' to set the necessary internal variables (or do > > >-- >Alan Mackenzie (Nuremberg, Germany). From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 07 17:56:14 2020 Received: (at 42270) by debbugs.gnu.org; 7 Sep 2020 21:56:14 +0000 Received: from localhost ([127.0.0.1]:51308 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kFP7W-0003D9-5E for submit@debbugs.gnu.org; Mon, 07 Sep 2020 17:56:14 -0400 Received: from sonic313-14.consmr.mail.bf2.yahoo.com ([74.6.133.124]:45481) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kFP7S-0003Cn-7r for 42270@debbugs.gnu.org; Mon, 07 Sep 2020 17:56:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1599515764; bh=2FN+RM3zE1vdRxleLA/tHjSs05LLfbFYytZOWFyGiO8=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From:Subject; b=daj4/qegiuOe/JkTq3gjWkazspmyV21e7AvQeS1x6t14EYgRiM7kcyETaUMurLm1PgukqIxIN0+V+yQXO4KrDTT4Hw6zXOP7dSrPI3QACe0ya9zBBOq0g69CA8UlnGkN4mqGz5+vvYaqPgKpID8vXIPBQr8e8M0/t5ZaLW1UCM9ozUMfYcUTiv/KEwEIKBOCCwZGTk8+uILKS9sQ1DY7O1lTuBp9lDI/cfh41Xq2tTLYCO5KHUhibuYO6mEpFx/v1Sgp7hwEfLjRjUnbrtHHux5RqhV0kusJqCRmrCUeZVrxPc4BDLooh19yz+OUSz6SSl5zJW9tDVcGvX+ToBOKhw== X-YMail-OSG: 1pdOLwYVM1lR0t5Y6Curz9UBAmh97s_ibELPtFJRr2_OU0BftKP4zNNcR.tN_.c gGA16Hyf2pqsiHqX2ziRD38ninBAvvFB2c9QHqbvVU1.RRppnC5PjEoMj0tG.FfsDKv1KDjMyQzT 8DYUYGOOCj7.wsZXuHVQoHnJkI4yKozVTCld.tggnlOXSfTuM8VMP_EGtG14Cl8lSiv..0y4aRev r7mJatioSEIGcTRKnbIQ36S3odnQkjGItRolzXkM2xwSoFgxPO9UXpE46Sz14_sl8fVR810pCRnX DVA_S57qd3UN9vpsm07qokwunnt48jqE7ksflh.O6w71n62_cERUvMknlhac8I_xHSQnn6HYvrEb aiTYnNzEf_3fB1WqUggUS_13f3KuJiJUA9Er_J4jA_UxqC2.Rua2egJ7CtzGLOeGubM6rnSBCYI2 uLzjZrU61JZfgveYg1LEG5NOSHPz1GEJ5xBcy6Z3u366Sqi2SPA2uTw05_JHVqOVc1Lknte.hUJR gtch8MnpMPuFFNkprsFmQ43iQ_EuG.NyiJngZ6j9f7E8xMv91Fx23weWZF0kewVRBxyziQeuFhXb cXMyxuABXWqveSZMSCxCHt5pZEUxvoiFC8FmvXFFsXsgofkdQesCeHSQsjMr.P.fI7ETKU.ps1e3 ULMJvt9shGcorqd3kXZEb25MHoh4gyprUBK.z6030kAjw7sj4yH.WyEJfRo0yFRjGwgpNInSP1RQ AapV6NnGT7tA9jyBF3TIEH5cKkoYJJdysbz4zgSM7bBjWAMjwGP6mjmzjmcaB4bgVOi46ocLzdwa inpbXV0ADFOVVMOa2vU.L3807ewQ49eLBRgwhh8W58Wx6ETxQXH0w1pMcCUyH3kH79ytJruSqXyW D8rboFrHzRvGcQIev9LL3qDLlHW_f91Ef.Nml.4sswLzPAllq0N33WeSy7APMJcy0JirSCT9VnQW cwcZAwy7iQo1Nk5cLU0XY1O0PdCcdSmIWk0hfo4ylV1Yfd5rvsHD1r3NQCiZUduD1G1QUVx2EU5L OixzGmhPBMEAlEBWJ960_K9S.UWfBkZu71YQwBFFxi8i8p74D.P7HImPJEbdghY2PJyCL7AR3XB. .04tw2LjMKmCmYYYsSL5FbM6KaC6HoW_CbVivkHp_0.vyqu_.cUZWvccSiimGb1f.RzLgfgwzSDo hPvG.3rNIf5bwfEF7Rdvk_.CUoHxKQO5SoFoISWVnAuKVw8.4lTRd4EBFZ9eUhkjjaMa_a.JpFty dFOy6K_8q6KiFD08z7fh1Ihj3dzVLD9reaVEY6Zb_LJ8DMFgWm.1Dh.zi39zQoyXIgCGt6XZn60h zF9.EZdoxCTxVxFwOtvjF91mnj0pQlLwJweCfHXvYAQ3oyWlvcOmAaCrX.JwYPQZkr2eddO62pJz 9k1y_guQntKA4tVXFSOTtWp9kqE9Grz9o3RjEB_4oMCDt5NsUWv15bAf4rHsepop0vbT7fD8c4QC I3a55tR9AIretvp2D3jef_L6dNQjSExTvwdmBJQ6eXUd0vAg8 Received: from sonic.gate.mail.ne1.yahoo.com by sonic313.consmr.mail.bf2.yahoo.com with HTTP; Mon, 7 Sep 2020 21:56:04 +0000 Received: by smtp415.mail.ir2.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID c3b3330e5768083f5a571f925e39b4d6; Mon, 07 Sep 2020 21:56:03 +0000 (UTC) Date: Mon, 7 Sep 2020 23:55:58 +0200 From: Ergus To: Alan Mackenzie Subject: Re: bug#42270: 28.0.50; cc-mode indentation issue with attributes Message-ID: <20200907215558.puvw6i757ipgvwe5@Ergus> References: <20200708170358.sn4omf4vk3jlks4x.ref@ergus> <20200708170358.sn4omf4vk3jlks4x@ergus> <20200905121335.GA5479@ACM> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: <20200905121335.GA5479@ACM> X-Mailer: WebService/1.1.16565 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol Apache-HttpAsyncClient/4.1.4 (Java/11.0.7) Content-Length: 6555 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42270 Cc: 42270@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.0 (-) Hi Alan: The fix solved the reported problem. If I get any error I will report ASAP, but for me this solves the issue. Very thanks Ergus. On Sat, Sep 05, 2020 at 12:13:35PM +0000, Alan Mackenzie wrote: >Hello, Ergus. > >Thanks for the bug report. > >On Wed, Jul 08, 2020 at 19:03:58 +0200, Ergus wrote: >> Hi: > >> Working in C++ I am getting this indentation difference when arguments >> has attributes or not: > >> TaskDataAccesses(TaskDataAccessesInfo taskAccessInfo) >> : _lock(), >> _accesses(), >> _accessFragments(), _taskwaitFragments() >> { >> } > > >> TaskDataAccesses(__attribute__((unused)) TaskDataAccessesInfo taskAccessInfo) >> : _lock(), >> _accesses(), >> _accessFragments(), _taskwaitFragments() >> { >> } > >> The problem seems to be that in the first case the `:` indentation >> symbol (C-c C-o) is recognised as `member-init-intro` (correct) but in >> the second one it is detected as a `topmost-intro-cont` which is >> actually wrong. > >Yes, indeed. There were also problems with the fontification in similar >fragments, e.g.: > > TaskDataAccesses(foo((unused)) TaskDataAccessesInfo taskAccessInfo) > : _lock(), > _accesses(), > _accessFragments(), _taskwaitFragments() > { > } > >, where typing into "foo" removed the fontification from >"Task...unused))", which got replaced on the next redisplay (e.g. after >typing M-x). > >I think the patch below fixes all these problems. Would you please apply >it, rebuild CC Mode, load it, and try it out on your real source code. A >fairly thorough test would be appreciated, here. Then please let me know >if the bug is actually fixed, and whether there are any "strange things" >happening. Thanks! > >> Best, >> Ergus > >> In GNU Emacs 28.0.50 (build 10, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0, Xaw scroll bars) >> of 2020-07-07 built on ergus >> Repository revision: df3ece9d2ed61c9526dbf718e3c96d72bd53dccb >> Repository branch: master >> System Description: Debian GNU/Linux 10 (buster) > > > >diff -r 877c4ad9dae8 cc-engine.el >--- a/cc-engine.el Sat Jul 04 16:23:06 2020 +0000 >+++ b/cc-engine.el Sat Sep 05 11:53:51 2020 +0000 >@@ -2243,7 +2243,7 @@ > > ((and c-opt-cpp-prefix > (looking-at c-noise-macro-name-re)) >- ;; Skip over a noise macro. >+ ;; Skip over a noise macro without parens. > (goto-char (match-end 1)) > (not (eobp))) > >@@ -9141,6 +9141,12 @@ > (catch 'is-function > (while > (progn >+ (while >+ (cond >+ ((looking-at c-decl-hangon-key) >+ (c-forward-keyword-clause 1)) >+ ((looking-at c-noise-macro-with-parens-name-re) >+ (c-forward-noise-clause)))) > (if (eq (char-after) ?\)) > (throw 'is-function t)) > (setq cdd-got-type (c-forward-type)) >@@ -9789,6 +9795,16 @@ > (save-excursion > (goto-char after-paren-pos) > (c-forward-syntactic-ws) >+ (progn >+ (while >+ (cond >+ ((and >+ c-opt-cpp-prefix >+ (looking-at c-noise-macro-with-parens-name-re)) >+ (c-forward-noise-clause)) >+ ((looking-at c-decl-hangon-key) >+ (c-forward-keyword-clause 1)))) >+ t) > (or (c-forward-type) > ;; Recognize a top-level typeless > ;; function declaration in C. >diff -r 877c4ad9dae8 cc-mode.el >--- a/cc-mode.el Sat Jul 04 16:23:06 2020 +0000 >+++ b/cc-mode.el Sat Sep 05 11:53:51 2020 +0000 >@@ -2236,7 +2236,8 @@ > (defun c-fl-decl-end (pos) > ;; If POS is inside a declarator, return the end of the token that follows > ;; the declarator, otherwise return nil. POS being in a literal does not >- ;; count as being in a declarator (on pragmatic grounds). >+ ;; count as being in a declarator (on pragmatic grounds). POINT is not >+ ;; preserved. > (goto-char pos) > (let ((lit-start (c-literal-start)) > enclosing-attribute pos1) >@@ -2249,12 +2250,31 @@ > (let ((lim (save-excursion > (and (c-beginning-of-macro) > (progn (c-end-of-macro) (point)))))) >- (when (and (c-forward-declarator lim) >- (or (not (eq (char-after) ?\()) >- (c-go-list-forward nil lim)) >- (eq (c-forward-token-2 1 nil lim) 0)) >- (c-backward-syntactic-ws) >- (point))))))) >+ (and (c-forward-declarator lim) >+ (if (eq (char-after) ?\() >+ (and >+ (c-go-list-forward nil lim) >+ (progn (c-forward-syntactic-ws lim) >+ (not (eobp))) >+ (progn >+ (if (looking-at c-symbol-char-key) >+ ;; Deal with baz (foo((bar)) type var), where >+ ;; foo((bar)) is not semantically valid. The result >+ ;; must be after var). >+ (and >+ (goto-char pos) >+ (setq pos1 (c-on-identifier)) >+ (goto-char pos1) >+ (progn >+ (c-backward-syntactic-ws) >+ (eq (char-before) ?\()) >+ (c-fl-decl-end (1- (point)))) >+ (c-backward-syntactic-ws) >+ (point)))) >+ (and (progn (c-forward-syntactic-ws lim) >+ (not (eobp))) >+ (c-backward-syntactic-ws) >+ (point))))))))) > > (defun c-change-expand-fl-region (beg end old-len) > ;; Expand the region (c-new-BEG c-new-END) to an after-change font-lock >diff -r 877c4ad9dae8 cc-vars.el >--- a/cc-vars.el Sat Jul 04 16:23:06 2020 +0000 >+++ b/cc-vars.el Sat Sep 05 11:53:51 2020 +0000 >@@ -1668,7 +1668,8 @@ > like \"INLINE\" which are syntactic noise. Such a macro/extension is complete > in itself, never having parentheses. All these names must be syntactically > valid identifiers. Alternatively, this variable may be a regular expression >-which matches the names of such macros. >+which matches the names of such macros, in which case it must have a submatch >+1 which matches the actual noise macro name. > > If you change this variable's value, call the function > `c-make-noise-macro-regexps' to set the necessary internal variables (or do >@@ -1683,7 +1684,8 @@ > which optionally have arguments in parentheses, and which expand to nothing. > All these names must be syntactically valid identifiers. These are recognized > by CC Mode only in declarations. Alternatively, this variable may be a >-regular expression which matches the names of such macros. >+regular expression which matches the names of such macros, in which case it >+must have a submatch 1 which matches the actual noise macro name. > > If you change this variable's value, call the function > `c-make-noise-macro-regexps' to set the necessary internal variables (or do > > >-- >Alan Mackenzie (Nuremberg, Germany). From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 12 12:45:56 2020 Received: (at 42270-done) by debbugs.gnu.org; 12 Sep 2020 16:45:56 +0000 Received: from localhost ([127.0.0.1]:48880 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kH8ex-0007U3-P5 for submit@debbugs.gnu.org; Sat, 12 Sep 2020 12:45:55 -0400 Received: from colin.muc.de ([193.149.48.1]:60282 helo=mail.muc.de) by debbugs.gnu.org with smtp (Exim 4.84_2) (envelope-from ) id 1kH8eu-0007Tp-Uf for 42270-done@debbugs.gnu.org; Sat, 12 Sep 2020 12:45:54 -0400 Received: (qmail 79633 invoked by uid 3782); 12 Sep 2020 16:45:46 -0000 Received: from acm.muc.de (p2e5d52da.dip0.t-ipconnect.de [46.93.82.218]) by localhost.muc.de (tmda-ofmipd) with ESMTP; Sat, 12 Sep 2020 18:45:45 +0200 Received: (qmail 29814 invoked by uid 1000); 12 Sep 2020 16:45:45 -0000 Date: Sat, 12 Sep 2020 16:45:45 +0000 To: Ergus Subject: Re: bug#42270: 28.0.50; cc-mode indentation issue with attributes Message-ID: <20200912164545.GA26580@ACM> References: <20200708170358.sn4omf4vk3jlks4x.ref@ergus> <20200708170358.sn4omf4vk3jlks4x@ergus> <20200905121335.GA5479@ACM> <20200907215558.puvw6i757ipgvwe5@Ergus> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200907215558.puvw6i757ipgvwe5@Ergus> X-Delivery-Agent: TMDA/1.1.12 (Macallan) From: Alan Mackenzie X-Primary-Address: acm@muc.de X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42270-done Cc: acm@muc.de, 42270-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.0 (-) Hello, Ergus. On Mon, Sep 07, 2020 at 23:55:58 +0200, Ergus wrote: > Hi Alan: > The fix solved the reported problem. If I get any error I will report > ASAP, but for me this solves the issue. Thanks for the testing! I've committed the patch to the master branch, and I'm closing the bug with this post. > Very thanks > Ergus. -- Alan Mackenzie (Nuremberg, Germany). From unknown Mon Aug 18 09:07:56 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 11 Oct 2020 11:24:05 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator