Hacker News new | past | comments | ask | show | jobs | submit login

Emacs has many frustrating behaviors out of the box. Typo-> C-z->Crap->Grab Mouse->Expand Emacs Window->Scold self for not calling it a frame.

"Frames v. Windows" thing aside, every behavior in Emacs is configurable. It's just that the default assumes that the user fired up Dired to seriously use Dired. The default assumes that the user is using Emacs as Dired and so it becomes Dired with lots of dedicated resources. Orgmode is the same way. They don't constrain the amount of information they show in deference to other activities.




BTW, you can run "killall -CONT emacs" instead of having to use a mouse and expand the window (which is hack anyway).

You could also use cua-mode, which makes Ctrl-Z work like in other applications. Or you could use an "Emacs starter kit" which includes it (I started with "Emacs Prelude", although that doesn't include cua-mode if that's what you're after).

Other answers are given here, including a one-liner to disable Ctrl-Z completely:

http://superuser.com/questions/349943/how-to-awake-emacs-gui...

Of course, this "frustrating behaviour" goes the other way too. I've lost count how many times I've made a selection in some application, then pressed Ctrl-W to cut it, only to have the document/program close!

I don't think it's fair to blame this kind of mis-match on Emacs though, since it's been around for 30 years and pre-dates the "standard" conventions by quite a bit. Emacs shouldn't have to change based on current trends, and as I've already mentioned, changing the default behaviour is a job better suited to Emacs starter kits than Emacs itself.

I don't blame the convention for not being Emacs-compatible either. It's just another unfortunate case of standardising on a sub-optimal solution. An "optimal" solution wouldn't need to work across every application, it would just minimise the chances of accidental data loss, crashes, etc. when used across as many popular applications as possible. Accidentally selecting text, or moving to the end of a line, is better than accidentally closing an application ;)


To be clear, I'm not blaming Emacs. I find it mind boggling incredible. It's computer science not an ad-supported app built about culled Creative Commons content. I've written the one liner - which just maps C-z to 'undo. Got the tee-shirt the first time. I just find myself thinking about it as a manifestation of the nature of Emacs because I seem to install some version of Linux over another a few times a year and wind up redoing the defaults because I'm too lazy in the wrong way to set up a central init.el somewheres.

Emacs takes a long time to learn and I think that's a good thing. The fact I grab the mouse after hitting C-z shows that I don't know the OS's underlying hotkeys for managing windows. It shows that I've been trained to use the mouse rather than actually control my computer. I love that Emacs points this out to me regularly.

Speaking of SuperUser, did you know that there's an Emacs site in beta on StackExchange?

http://emacs.stackexchange.com/


Yeah, I do find it annoying how many Emacs-based applications assume they're the only thing running.

I'm developing an application built on ProofGeneral, which itself is built inside Emacs. I ran the test suite one day and one function turned out to quit Emacs if it encoutered an error! It took out all of my open shells, files, etc. (everything was saved, but I had to open them all again).

Now I'm running the tests in a dedicated Emacs process, launched via a command from eshell!


I know it's the internet and the standard assumpution is that what I wrote is a complaint.

But just to be clear, I don't find Emac's behavior annoying. I find it empowering. The idea that I might know what I am doing and be doing it seriously is refreshing. Even if I don't.

I get annoyed with the fact that I don't know Emacs better. But I love the fact that I can change that fact. I love that there's something else to learn about Emacs and that it's likely to be worth learning because it involves diving into an incredible piece of software as an object of design.


Well, I was mostly piling my own complaints on top of what you said. I also agree that Emacs is wonderful, and I agree that it's great how much power it gives us to reconfigure everything. However, that doesn't make it perfect. It's completely legitimate to point out flaws, whether they're actual bugs, subjective annoyances or hand-wavey project-wide things.

For example, I think that the Emacs community should embrace starter kits more when encouraging others to get started. Of course there's some truth to the "thrown in at the deep end" and "get to grips with the real, inner-workings" approaches, but at the same time the line has to be drawn somewhere; I doubt many would recommend new starters to compile Emacs themselves.

Still, Emacs is certainly not as scary as many make it out to be. This week I was helping out a Haskell programming class of CS students, where the instructions included setting up Emacs and installing haskell-mode (in Emacs 23, so they had to install the package manager first!). Out of a group of 60, only one struggled to do this, and it turned out to be because the sysadmin hadn't installed Emacs on the machine he was using ;)


The Emacs community embraces starter kits to the extent it makes sense to embrace starter kits. That extent is the extent to which people are willing to expend the energy to develop and maintain those configurations. My impression is that few people have the energy and will to make such projects a successful ongoing enterprise because in the end, pretending that Emacs is notepad.exe comes crashing down to the reality that Emacs is a power tool and even newbies are drawn to it for that reason. The bill for its learning curve comes through.


Do you have any other example of an Emacs application assuming it is the only thing running? I ask because I use Emacs a fair bit and don't think I've ever come across something like that.


Emacs is unfortunately still single-threaded at its core, so it indeed happens that some subpar code can hang the whole editor while waiting for some network requests to finish, or take down everything in a crash (but this happens extremely rarely; I think I had only a few random crashes on Windows in years of using Emacs).


TRAMP to me seems to be the worst offender here. If your connection is slow or you mistyped the domain you pretty much just have to wait for it to time out


C-g


I use emacs all day every day, and the only crashing problems I've had has been helm-projectile lagging and crashing if you start typing too fast after invoking it.

Otherwise it's rock solid.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: