[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#29959: cc-mode: wrong indentation in absence of semicolon
From: |
Alan Mackenzie |
Subject: |
bug#29959: cc-mode: wrong indentation in absence of semicolon |
Date: |
Thu, 18 Jan 2018 18:41:37 +0000 |
User-agent: |
Mutt/1.7.2 (2016-11-26) |
Hello again, Konstantin.
On Sat, Jan 13, 2018 at 20:37:52 +0000, Alan Mackenzie wrote:
> On Sat, Jan 13, 2018 at 14:11:31 +0300, Konstantin Kharlamov wrote:
> > Just tested with current git, the problem is still present.
> > I am almost sure this is a regression, I don't remember having that
> > problem before. The real-world consequences are just too annoying for it
> > to go unnoticed — basically, every time I'm typing variables indentation
> > just doesn't work. And I also seem to remember a few irrelevant
> > situations where I was typing conditions with the like results.
> The problem originates in a new feature, C99 compound literals, which was
> committed on 2017-11-10. This detects brace blocks (meaning something
> like the initialisation of a struct) in the middle of executable code,
> but it is clear the test for such a brace block isn't rigorous enough,
> since even function blocks are being mistaken for them.
The new feature, C99 compound literals, has been removed from the
emacs-26 branch, so as to avoid delaying the relase process for that
branch. The commit has hash 36edb6cb97ce3d53543c87643077d270bb5bdfd1,
and it should apply without problems to the master branch.
It is to be hoped that a more elaborate and more correct solution will
be found soon for the master branch.
> > On 03.01.2018 09:02, Konstantin Kharlamov wrote:
> > > # Steps to reproduce:
> > > 1. Open emacs -Q test.c
> > > 2. Write the following:
> > > int main() {
> > > int a,
> > > }
> > > 3. put the caret after the comma symbol, and press enter, e.g. to
> > > continue writing variables on the new line.
> > > # Expected:
> > > the new line alignment stands out with regard to the prev. line.
> > > # Actual:
> > > the new line aligned to the beginning of the prev. line.
> > > # Workarounds:
> > > Typing the following text:
> > > int main() {
> > > int a,;
> > > }
> > > …then pressing enter right after the comma works as expected.
> > > ------------
> > > In GNU Emacs 27.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.26)
> > > of 2017-12-15 built on constantine-N61Ja
> > > Repository revision: 6c301afa70f6eac32ad1ce92412ea3cf6fcdeeca
> > > Windowing system distributor 'The X.Org Foundation', version 11.0.11906000
> > > System Description: Arch Linux
> [ .... ]
--
Alan Mackenzie (Nuremberg, Germany).