The Aquamacs “Save File?” dialog box has a ridiculous surplus of buttons.
Readers: How many buttons does this dialog box really need? (Answer below the fold.)
Zero!
Emacs automatically backs up unsaved changes to #temporary.files#. If you accidentally close without saving, you simply recover your contents from the temp file the next time you start editing. This dialog box is protecting us from something we don’t need protection from; it could be eliminated. (Preferably in exchange for a better exposure of the recover-from-backup feature.)
Rule of thumb: It’s almost always better to make an action undoable than to query the user for confirmation. Doing both, as we see here, is overkill.
February 8, 2009 at 6:55 pm
Well, never had this problem with vim [/flamewars].
February 8, 2009 at 7:31 pm
Jono, thanks for calling this out — this exact dialog is one of the few things I hate about emacs. 🙂
February 8, 2009 at 9:59 pm
Serves you right for using Emacs 😛
… Not that Vim is any better.
February 9, 2009 at 12:00 am
[…] From Emacs, you know I love you, but.. […]
February 9, 2009 at 2:00 pm
If you use shortcuts you don’t have dialog box… I think dialog box is a punishment ! 😉
February 9, 2009 at 2:23 pm
The temp. file(s) won’t necessarily be up to date when you close Emacs. A prefix argument (e.g. C-u C-x C-c) will silently save any open file-visiting buffers. If that’s not to your liking, you can define and bind your own “close Emacs” command or defadvice the standard one or whatever. If there is something you hate about Emacs, Daniel, don’t fume – change it! 🙂
February 9, 2009 at 4:16 pm
I am a heavy emacs user, and I could not tell you what the right answer is to that dialog.
February 10, 2009 at 5:08 am
I think the radical version of no dialog is too much. I like it warning me when i have unsaved buffers, because that usually means i accidentally hit C-x C-c (happens more often that you think)
February 10, 2009 at 5:47 pm
-HP is right. Dialog boxes pop up when people use emacs incorrectly.
This is the emacs way to say you don’t hear the grasshopper at your feet.
October 24, 2010 at 4:36 pm
You don’t like something in emacs, but you DO have the source, right?
Isn’t that one of the good things about emacs, that it is extensible?
Do you dislike it enough to spend a day or less to find out where to put a nil in the right place?
October 25, 2010 at 6:50 pm
Steve, I’m not saying that you’re the problem (since you’re not necessarily speaking on behalf of Aquamacs project), but I think this statement illustrates a major problem in the open-source world.
“It’s open source, so you could, theoretically, change the behavior”, while true, is not generally a constructive response to usability criticism. People with both UI design skills and coding skills are rare. Most people with usability feedback for any given project are not going to be coders. If your project’s response to usability feedback is “show me the code or get lost”, then you’re taking potentially valuable feedback and throwing it in the trash. Over time, the project teaches people not to bother trying to help unless they’re coders. And then it misses out on the best chance to improve its usability.
I understand why open source projects have a “show me the code” attitude. It’s a defense against unhelpful people with random complaints who think they’re entitled to a chunk of your time, for free. Everybody would rather have contributors than complainers. So no, I’m not saying your project has to implement every random UI gripe that someone comes up with. But like every defense mechanism applied too generally, “show me the code” blocks out useful communication. I strongly believe that we need to change open source culture to one where valid UI criticisms are treated as contributions and given the respect due to other types of contributions.
It doesn’t feel good to get such a criticism but it does help your project get better.
I should probably make this a blog post instead of just a comment…