unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Alan Mackenzie <acm@muc.de>
To: Tadeus Prastowo <tadeus.prastowo@unitn.it>
Cc: John Wiegley <jwiegley@gmail.com>, 28623-done@debbugs.gnu.org
Subject: bug#28623: 27.0.50; lisp/progmodes/cc-engine.el incorrect indentation of C++14 curly-brace initializer list
Date: Thu, 9 Nov 2017 18:53:54 +0000	[thread overview]
Message-ID: <20171109185354.GA15085__23819.6259401322$1510253833$gmane$org@ACM> (raw)
In-Reply-To: <CAN-HRFaUsoop86RuZzg6h8hiLrs8c2bK1ao_FMLi2Eg6=4kC2Q@mail.gmail.com>

Hello, Tadeus.

On Thu, Nov 09, 2017 at 10:27:55 +0100, Tadeus Prastowo wrote:
> On Wed, Nov 8, 2017 at 8:23 PM, Alan Mackenzie <acm@muc.de> wrote:

[...]

> > I've corrected c-inside-bracelist-p such that it now uses position l as
> > this limit.  I've also taken the opportunity to simplify it quite a bit.
> > This now appears to work.

> > So, thank you for taking the time to test this, and finding this further
> > bug.

> My pleasure.  And thank you very much for looking into this last
> problem as well.

I've committed the patch to the canonical places, including the emacs-26
branch at savannah (whence it will find it's way into master), and I'm
closing the bug.

[ .... ]

> And, just out of curiosity, in cc-engine, there is a long function
> with many inline comments in the form of CASE xxx.  Why aren't those
> refactored into individual functions?  Performance issue?

There are two such functions, c-forward-decl-or-cast-1 and
c-guess-basic-syntax.  Both of them have LOTS of local variables which
would have to be passed into smaller individual functions, and sometimes
those functions would have to alter the "more global" version of the
variable.

Doing this would indeed be slower, but probably not very much.  I suspect
all the parameter passing would be awkward.  But it's worth stating that
my predecessor, Martin Stjernholm, extracted c-guess-continued-construct
from c-guess-basic-syntax, which shows that it is possible.

> --
> Best regards,
> Tadeus

-- 
Alan Mackenzie (Nuremberg, Germany).





  reply	other threads:[~2017-11-09 18:53 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-27 17:49 bug#28623: 27.0.50; lisp/progmodes/cc-engine.el incorrect indentation of C++14 curly-brace initializer list Tadeus Prastowo
2017-09-27 19:31 ` John Wiegley
2017-10-04 18:15 ` Alan Mackenzie
2017-10-06  2:59   ` Tadeus Prastowo
2017-10-11 20:32     ` Alan Mackenzie
2017-10-12 11:38       ` Tadeus Prastowo
2017-11-04 19:56         ` Alan Mackenzie
2017-11-06 22:46           ` Tadeus Prastowo
2017-11-08 19:23             ` Alan Mackenzie
     [not found]             ` <20171108192358.GA4582@ACM>
2017-11-09  9:27               ` Tadeus Prastowo
2017-11-09 18:53                 ` Alan Mackenzie [this message]
     [not found]                 ` <20171109185354.GA15085@ACM>
2017-11-10 12:07                   ` Tadeus Prastowo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='20171109185354.GA15085__23819.6259401322$1510253833$gmane$org@ACM' \
    --to=acm@muc.de \
    --cc=28623-done@debbugs.gnu.org \
    --cc=jwiegley@gmail.com \
    --cc=tadeus.prastowo@unitn.it \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).