all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Konstantin Kharlamov <hi-angel@yandex.ru>
To: Alan Mackenzie <acm@muc.de>
Cc: 29959@debbugs.gnu.org
Subject: bug#29959: cc-mode: wrong indentation in absence of semicolon
Date: Thu, 18 Jan 2018 22:19:35 +0300	[thread overview]
Message-ID: <a3c2125b-90a7-7f4f-52ef-37569dc3f04a@yandex.ru> (raw)
In-Reply-To: <7dc2d599-f391-2b0c-2509-ea45a5cf74d4@yandex.ru>

Sorry, I mean, not cool that it doesn't work, but cool there's a workaround.

On side note — though I am not experienced in elisp — I think it'd be 
nice to add a comment in the removed code that it's looking for C99 
compound literals. Otherwise I personally struggle to understand what's 
being looked up there. In fact, whole file doesn't mention sentence "C99 
compound literals" anywhere.

On 18.01.2018 22:08, Konstantin Kharlamov wrote:
> Cool, thanks, I applied it locally, works for me!
> 
> On 18.01.2018 21:41, Alan Mackenzie wrote:
>> 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
>>
>>> [ .... ]
>>





  reply	other threads:[~2018-01-18 19:19 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-03  6:02 bug#29959: cc-mode: wrong indentation in absence of semicolon Konstantin Kharlamov
2018-01-13 11:11 ` Konstantin Kharlamov
2018-01-13 20:37   ` Alan Mackenzie
2018-01-18 18:41     ` Alan Mackenzie
     [not found]     ` <20180118184137.GB21934@ACM>
2018-01-18 19:08       ` Konstantin Kharlamov
2018-01-18 19:19         ` Konstantin Kharlamov [this message]
2018-02-08  1:53       ` Noam Postavsky

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

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

  git send-email \
    --in-reply-to=a3c2125b-90a7-7f4f-52ef-37569dc3f04a@yandex.ru \
    --to=hi-angel@yandex.ru \
    --cc=29959@debbugs.gnu.org \
    --cc=acm@muc.de \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.