5 ms·
I've been using Emacs for more than 20 years, these are all (for the most part) non-issues, brought up by folks who either are new to Emacs or never read the do
by creamytaco 5y ago
I've been using Emacs for more than 20 years, these are all (for the most part) non-issues, brought up by folks who either are new to Emacs or never read the documentation / dived below the surface.
1. Emacs Lisp is great (for the problem domain), exists and works. Common Lisp could work but then given how close Emacs Lisp and CL are, there's no clear benefit, especially with Emacs getting native compilation. Scheme was proposed, some POC code written and failed because nobody was interested. It doesn't fit and fragmenting one of Emacs's greatest strengths (consistent ecosystem of working Emacs Lisp code) is a terrible idea.
2. The Emacs UI core is completely toolkit-agnostic. It doesn't use GTK on Windows. It doesn't use GTK on macOS. You can run _graphical_ Emacs without GTK or any toolkit whatsoever on Linux, and not lose any functionality. Therefore what you write makes no sense (ugly hacks to support a subset of GTK).
3. There are multiple ways to do this. Read up on setting the mark.
4. Threading has nothing to do with TRAMP freezing, bad configuration does. TRAMP documentation (does anyone that bring up these points ever read it?) has multiple sections on improving performance. Check "SSH control master" and "Improving performance of asynchronous remote processes".
5. SVG support is already there and more is on the pipeline.
What I've noticed during my 40 year computing career is that folks get lazier and lazier. Few read manuals / documentation anymore but most are quick to jump to superficial conclusions without any substantial time investment in trying to figure things out. Spoonfed knowledge is the order of the day, and the folks doing the spooning are usually not far from clueless themselves (the blind leading the blind). This leads to generational gaps and rapid propagation of erroneous ideas amidst the newbie masses, very similar to what you laid out.
Emacs mastery requires commitment and time investment in order to understand (at least) the basic models and the trade-offs involved. If that doesn't take place, one can start going down paths that are entirely irrelevant ("Emacs needs threads so that it doesn't freeze!", "Let's use JavaScript so we can do non-blocking IO!", "Let's rewrite Emacs in Rust!")
- CJefferson 5y ago2. What you wrote makes no sense. If linking to gtk provides nothing at all, why is the code even there? 3. Why is the default config for TRAMP so bad? It isn't spoonfeeding for everyone to not want to reconfigure it.
- creamytaco 5y ago2. It makes perfect sense if you actually learn how Emacs works. It provides superficial elements like GTK-look-and-feel (scrollbars, menubars). Most Emacs experts disable all of these anyway, thus nothing of value is lost. On the other hand, toolkit-less Emacs tends to be a lot more stable. That was definitely the case for GTK since it had well-known bugs that the GTK developers refused to fix that would crash Emacs. I suggest you compile graphical Emacs on Linux without any toolkit (or with Athena/Lucid/Motif) to see for yourself. 3. Because there are trade-offs involved and the (informed) user should be responsible for enabling them.
- lytefm 5y ago> What I've noticed in my 40 year computing career is that folks get lazier and lazier. Few read manuals / documentation anymore but most are quick to jump to superficial conclusions without any substantial time investment in trying to figure things out. The problem is being used to software that "just works". I've tried out to figure out how to to stuff with Emacs multiple times, but apart from sticking with org-mode for some use cases, I always have up after a while. I don't see why I should "master Emacs" when there are usually better tools for any given task.
- creamytaco 5y agoEmacs is a tool with an enormous set of available functionality that has been continuously developed for 35 years. Moreover, its major strength is its programmable and nearly infinitely-extensible nature. And yet, it does "just work", from the moment you first run it -no previous experience needed- it does present you with a familiar "editor skin". It does offer you an interactive tutorial. It does come with comprehensive offline documentation. It does come with the best interactive querying and documentation capabilities of any software system in wide-use today. So, taking all of that into account, when you say "just works", I read "I don't want to spend any time whatsoever to learn 35 years of features and a software system that is by far the most user-empowering in existence today". Your loss.
- Bost 5y ago> It does offer you an interactive tutorial. :facepalm: Yeah, my 8 years old niece will be taught "Informatics" in the school. Starting in a few days, actually. I'm sure she will enjoy Emacs over Notepad, since Notepad doesn't have any interactive tutorial. > It does come with comprehensive offline documentation. To avoid using precisely that, some years ago, I created myself a little extension of the engine-mode which opens up a browser and searches on the internet using a proper search engine. Here's the code: https://github.com/Bost/dotfiles/blob/c262e4dd7c5a498ce5d75c102d9829a5261b6a4e/emacs/my/packages.el#L106 https://github.com/Bost/dotfiles/blob/c262e4dd7c5a498ce5d75c... Enjoy > It does come with the best interactive querying and documentation capabilities of any software system in wide-use today. I managed to learn how to write my own plugins, macros, spacemacs core extensions, etc. I hope one day I'll learn how to use the emacs interactive documentation, too. Eventually.
- chriswarbo 5y agoThe fact there are known workarounds for certain problems shouldn't prevent us improving and fixing the underlying causes (in a step-by-step, backwards-compatible way). With that said, I'd rather not see Emacs go all-in on threads or GTK, since they generally feel like WorseIsBetter anti-patterns: - GTK 2 seemed OK, but unusable for me due to the 'display disconnection' bug. GTK 3 is full of red flags: a constantly moving target, little thought given to third-party applications, pretty much killed off third-party theming, etc. - Threading is famously error-prone, which is completely unnecessary for high-level languages like Emacs Lisp. Co-routines, async/await macros, delimited continuations; even an actor model would all seem like better fits.
- lavabiopsy 5y agoGTK3 is actually feature frozen, it's not a moving target. Development has moved to GTK4. Also, it has always supported third party themes, however the convention is that they were always considered unsupported because they can break apps.
- pjmlp 5y agoSimilar age, back in 1995 XEmacs was my refuge, because most UNIX world was foreign territory for IDEs and developer editors like Ultraedit. With the way UNIX landscape evolved, I seldom use it, although the last time I used it in anger was around 2006, the muscle memory is still there, but really, the IDEs I missed in 1995 are now available everywhere.