GNU bug report logs - #61541
30.0.50; Wrong indentarion in csharp-mode

Previous Next

Package: emacs;

Reported by: Ergus <spacibba <at> aol.com>

Date: Wed, 15 Feb 2023 21:20:01 UTC

Severity: normal

Found in version 30.0.50

Done: stefankangas <at> gmail.com

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Ergus <spacibba <at> aol.com>
To: jostein <at> kjonigsen.net
Cc: Theodor Thornhill <theo <at> thornhill.no>, 61541 <at> debbugs.gnu.org
Subject: bug#61541: 30.0.50; Wrong indentarion in csharp-mode
Date: Fri, 17 Feb 2023 22:43:46 +0100
On Fri, Feb 17, 2023 at 10:06:50PM +0100, Jostein Kj�nigsen wrote:
>2/17/23 20:28, Theodor Thornhill wrote:
>>Ergus <spacibba <at> aol.com> writes:
>>
>>>Hi:
>>>
>>>I just found that this indentations are wrong in csharp mode:
>>>
>>>// wrong
>>>new myNamespace.myClass
>>>{
>>>     Name1 = x.Value, // defun-block-intro
>>>	var2 = 2     // statement-cont
>>>	}            // statement-cont
>>>
>>>
>>>The problem seems to be related with the dot (.) in the new, because
>>>this variant indents correctly:
>>>
>>>// right
>>>new myClass
>>>{
>>>     Name1 = x.Value,   // brace-list-intro
>>>     var2 = 2           // brace-list-entry
>>>}                      // brace-list-close
>>>
>>>
>>>csharp-ts-mode is doing it right BTW.
>>>
>>Hi!
>>
>>Yeah, this is one of the harder issues iirc, and one of the ones that
>>made us move to tree-sitter in csharp-mode in the first place.
>>
>>What do you think Jostein?
>>
>>Patches welcome!
>>
>>Theo
>>
>First of all: Thanks for a detailed bug-report.
>
>Then for the bad news: I may be missing something here. I'm on the 
>latest revision of the emacs-29 branch, and I really can't reproduce 
>at all.
>
>I've tried typing out the concrete code-samples above, and I've tried 
>copy-pasting them.
>
>No matter what I do, I cannot reproduce the behaviour outlined above.
>
>Ergus: Could you come up with a even more complete example?
>
>I mean... If I can't reproduce, I definitely won't be able to come up 
>with a patch.
>
>--
>Jostein
>

Hi Jostein:

I just do:

emacs -Q /tmp/main.cs

Then pasted (or write) the code snippet shown in the example, and
re-indent the buffer:

I get this:

new myNamespace.myClass
{
    Name1 = 1,
        Name2 =2
        }

Exactly like in the example C-c C-o shows the same than in the
example. Even the fontification is wrong.

If I remove the dot like this myNamespacemyClass the fontification and
indentation is fixed immediately.

I am using the master branch (emacs-version = 30.0.50) tomorrow I can
try to reproduce the issue on emacs-29 branch, but I have to build it.

Best,
Ergus





This bug report was last modified 1 year and 263 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.