Subject: bug#43559: 28.0.50; [PATCH] Add csharp support to cc-mode

From: Theodor Thornhill <[email-masked]>
Date: Wed, 21 Jul 2021 14:36:41 +0200

On 21 Jul 2021 14:19, Lars Ingebrigtsen <[email-masked]> wrote:

Theodor Thornhill <[email-masked]> writes:

>> I don't see a reason why there shouldn't be a C# Mode directly in Emacs.
>
> The current csharp mode is now rewritten,

Great!  Including it in GNU ELPA would be cool.  Stefan?

Right now it lives in melpa, but there is no particular reason for it not to be in elpa/Emacs by default. There are some performance issues that are being addressed by Alan with regards to multiline strings. The paperwork should be very easy, as I _think_ the only people with commits that needs paperwork is Jostein and me. As for the package over at https://github.com/emacs-csharp/csharp-mode, personally I think it could be an idea to split it, since it currently has two implementations, one for cc mode and one for tree-sitter.

I'm not certain what's the best way to deal with splitting the package. There seems to be some momentum to tree sitter in this mode.

If the cc version is ripped out, how would that affect backwards compatibility with older Emacs versions?

Also, I think it should be its own mode that derives from cc mode, and wouldn't need to live beside the other modes inside cc mode itself.

I would love for Jostein to add his take on this. This because he has lived as the main maintainer of it for far longer than me.

> However, The lambda case is now fixed, but with a patch to emacs
> itself:
>
> --------------------------------------------------------------------------------
> diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
> index 4e336c0a06..b415e4b821 100644
> --- a/lisp/progmodes/cc-engine.el
> +++ b/lisp/progmodes/cc-engine.el

Alan, would it be OK to include that small change in cc-engine?

If I remember correctly, this change is still needed. If we want to move further with this, then I can take a good look at the patches I've added in csharp-mode, and hopefully we can avoid having them at all.

Theo