help-gnu-emacs
[Top][All Lists]
Advanced

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

It's almost 2016 and when (single-threaded) Emacs hangs, you gotta be sm


From: Alexander Shukaev
Subject: It's almost 2016 and when (single-threaded) Emacs hangs, you gotta be smashing your keyboard!
Date: Thu, 19 Nov 2015 21:29:04 +0100

Hello,

This discussion might be with some rant flavor, and I apologize for
that beforehand.  Currently, I have to work with directories mounted
from network.  As a result, Dired either opens them slowly or hangs
forever (looks like a bug and/or glitch).  I personally find this very
frustrating, especially when I'm in the middle of work with 50+
buffers open (some of which are still in modified state).  The only
way to recover from such problems is to kill the Emacs process.

I've read numerous times on these mailing lists that nobody is really
willing to introduce multi-threading due to historical reasons, and
that Emacs is an inherently single-threaded environment which is not
designed to support multi-threading, and bla bla bla...  On the one
hand, I can understand all the above as a rationale.  On the other
hand, in 2015, it sounds like an amateur excuse.  I mean, seriously,
how can so advanced text editor with ~30 year history be so unreliable
and fragile to work with in randomly occurring cases?  It may freeze
or it may not freeze, but if it does, all of the unsaved work is lost,
not to mention the fact that all of the layout of windows and open
buffers are lost as well.  It's literally UNACCEPTABLE.

Now, I'm not here to teach Emacs developers what to do or annoy
anybody.  First of all, I just want to once again draw your attention
to one of the urgent issues (to this date) of Emacs.  And, secondly, I
want to ask whether there exists a way to solve the problem described
above without multi-threading?  For instance, I believe I saw
something like `defer' package.  My question is: how can I (perhaps)
advise Dired functions (at least for opening directories), so that
they execute asynchronously (at least for interactive use, for
example)?  Currently, I know only one way to avoid this: run another
instance of Emacs which is dedicated exclusively for browsing with
Dired, and that's still kinda lame and limited (as you can't really
open files into another instance of Emacs, where you do your real
work).

Thanks and regards,
Alexander



reply via email to

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