4 ms·
We're now at Emacs 29. I've been following the threads stuff back then out of curiosity - but never seen it as game changer, as most of the annoyances where stu
by finaard 3y ago
We're now at Emacs 29. I've been following the threads stuff back then out of curiosity - but never seen it as game changer, as most of the annoyances where stuff hangs could just be solved by using async methods.
I just went over all my packages - I'm not using a single one which does make use of the threads API. I used to use lsp-mode, which _does_ create a thread in one situation - which also could've been solved by doing async calls.
A lot of the stuff that should've used async, but didn't got fixed, plus there's an external library to move some other stuff along. I've moved gnus (which used to be notorious for blocking everything) into my main emacs process years ago - and last year even tried setting up a new notebook without the local imap, and made it directly go to upstream servers. Turns out, so much improvements landed in the imap code over the years that doing this works so well now that I've dropped the local cache from all my existing systems by now.
- rickstanley 3y ago> I used to use lsp-mode Do you not use it any more? Have you switched to Eglot or something? I use lsp-mode, was going to switch to eglot, but it doesn't have the features that lsp-mode has, like lsp-ui (as far as I can remember), and the last time a compared (last year), the performance impact was somewhat noticeable.
- finaard 3y agoI've found lsp-mode to troublesome to configure for what it provided, and occasionally getting in the way, so with emacs 29 I just moved to the integrated eglot. Not that I'm using it much, though - I've found it marginally useful for getting used to new languages, but generally prefer to just have full documentation open - once I'm familiar with the code base completion tends to just get in the way, so I often have any form of completion switched off anyway.
- aulin 3y agoEglot philosophy is to hook into existing emacs features instead of reinventing the wheel, so you may find some of the lsp-mode/lsp-ui features in other packages. imenu-list for sideline navigation, breadcrumb, flymake has a way to display inline diagnostics (can never remember how as I don't use it and google does not help). I work on a huge codebase with eglot+clangd and the few times where it gets slow is where there are tons of flymake warnings. Like when you enable all the clang-tidy checks.
- masfoobar 3y agoeglot is part of emacs 29. I have been testing it out for my .NET development (with Omnisharp) I officially started with .NET back in 2008 and, at the time, you really had to use Visual Studio. I knew emacs was not an option at that time. Since .NET Core I knew I was getting closer and closer for emacs becomming an option. Then comes Visual Studio Code. I have experiemented with C# development in emacs for a few years, now. I cannot remember now but it was likely with lsp-mode. When I found out eglot is in v29, it was time to revisit it. It has been positive so far. I actually forced myself doing .net development in emacs this weekend. I am 90% there! Need to see if I can debug in emacs, now. I hope so! Once I am happy, I will continue to add more interactive functions, saving me typing 'dotnet cli..' commands. I also need to revisit yasnippet to make coding more effecient in C#. Getting started with eglot and C# was pretty painless, thanks to this link:- https://www.johansivertsen.com/post/emacs-29-csharp/ https://www.johansivertsen.com/post/emacs-29-csharp/
- finaard 3y agoI had a customer request a project that required C# due to a few fancy dependencies they had purchased back in 2008 - which was my first proper contact with .NET. I got frustrated with the Visual Studio UI after a few hours, and switched to editing in Emacs and compiling via CLI tools, only using Visual Studio for editing the project data. It wasn't too complicated to kick cc-mode into behaving somewhat sensibly with C# code.
- masfoobar 3y agoIt was not just about C# editing. There were other things being used in Visual Studio at that time. Also being inexperienced in VB.NET (my first job) surrounded by 10 other seasoned devs, they discouraged anything outside of Visual Studio. I understand why when looking back. This was also the Visual SourceSafe days. How I do not miss that! C# wiggled its way in eventually. Back in 2008, I was pretty much using Emacs for most programming languages. The only exception was C# and Javascript. As the years pass to now, I rarely use a programming language outside of emacs. I have enough years in my career to not tell me what I can and cannot do to get things done.
- taeric 3y agoI've been curious why threads will be so much better than async. My gut was that they are both hard to do and the default will be to just run the compute. But once you have to offload compute from main thread, seemed we already had facilities and examples. What is new with threads?