[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

csharp-mode in Emacs git master - a personal list of gratitude and thank

From: Jostein Kjønigsen
Subject: csharp-mode in Emacs git master - a personal list of gratitude and thanks
Date: Fri, 25 Nov 2022 21:00:42 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0

Hey everyone!

After years and years as a third-party mode, I'm absolutely stoked to see (a) csharp-mode finally mainlined into Emacs.

Sorry about the "long form" for this email, but for me this completes an 8 year journey as the "main" semi-lone steward of the Emacs C# project, and for me this feels very much like a very personal project finally finding a new, proper home.

That we are here today is a big achievement, and I really want to call out everyone I know and remember who helped us get here.

First of all I want to thank Dylan R. E. Moonfire for the original csharp-mode implementantation. This is where it all started, way back. Thanks Dylan!

I also want to thank Dino Chiesa who kept maintaining it for several years, until around 2011.

In 2014 when Emacs 24.4 was released, the old code broke and I took over as a new maintainer. In that regard, I want to thank everyone who helped me out fixing and improving csharp-mode. Contributions big and small: They were all welcome and appreciated!

For that early period I want to extend a special thanks to Vasailij Schneidermann (or perhaps you know him as wasamasa). He was always eager to help and provided much needed support. As far as I can tell, he wasn't just there for me. He was there for the entire Emacs-community and seemingly still is. A hero and living legend!

I also want to thank Alan MacKenzie for his never endring patience when we were stuck in some cc-mode troubles we couldn't dig ourselves out of and when we were using cc-mode in undocumented ways we shouldn't be doing. Clearly a gentleman of the olde school. You have my utmost respects!

Yuan Fu obviously deserves a great big thanks, for making it possible to land our new tree-sitter based implementation, which currently is the one I feel closest attached to as of now. As such I really also should mention Tuấn-Anh Nguyễn, who really pioneered getting tree-sitter and Emacs being into being one thing, before this was even considered possible to do in Emacs core, prior to Yuan Fu's efforts.

But a particular, special thanks goes out to a single individual who over the last few years have helped csharp-mode in ways and amounts I didn't imagine possible.

Listing up "only" his major contributions to csharp-mode still makes for a long list. This person contributed by among other things:

  • creating a new clean-room cc-mode based implementation, which could replace the old one, fixed bugs and now made it possible to even consider mainlining it into Emacs core, for the benefit of all Emacs-users.
  • for being one of the first Emacs-users out there trying out getting tree-sitter based major-modes in Emacs a real thing. He authored the first tree-sitter-based Emacs-mode I know of.
  • for pushing me into trying to make a new csharp-mode based on Yuan Fu's tree-sitter work in Emacs core, and then further improving on it.
  • for working closely with everyone in Emacs-devel to make sure our latest work was up to the standards you guys expect, and making sure it could eventually get merged.

I'm ofcourse talking about Theodor Thornhill.

Theodor: You better believe I'm taking this merge as an early Christmas-present! Thank you for having the ambition and drive I lacked after years of "maintenance-mode" maintainership!

Stefan Monnier deserves an honest mention too. He helped us land this, just likes he helps everyone else. Thanks Stefan!


While it may no longer be "my" csharp-mode nor "my" community maintaining it, I still definitely want to keep it close and will try to provide patches and improvements when I can.

Rumour has it Theoder isn't writing that much C# any more (while I do), so feel free to email me if you have issues or suggestions. I'll try to stay around :)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]