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

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

Re: What's your favourite *under_publicized* editing feature ofEmacs?


From: Jason Earl
Subject: Re: What's your favourite *under_publicized* editing feature ofEmacs?
Date: Wed, 23 Feb 2011 16:54:29 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

On Wed, Feb 23 2011, Cthun wrote:

> On 23/02/2011 2:22 PM, Jason Earl wrote:
>> On Wed, Feb 23 2011, Cthun wrote:
>>> This runs into trouble if you do something drastic you later want to
>>> undo.
>>
>> Actually, Emacs warns you before it makes drastic changes to an autosave
>> file.  This at least gives you the opportunity to do something about it.
>
> Oh, wonderful.
>
> Do you know what I'd do if I was in the middle of typing some stuff
> into a text editor after just having deleted a bunch of stuff and then
> suddenly a box popped up saying something about autosaving and drastic
> changes and yadda yadda yadda but I didn't have time to read it before
> one of my enter keypresses (intended for the actual document I was
> typing into when the box interrupted me) triggers one of the dialog's
> buttons (which?) and it disappears again (and does who knows what to
> my hard drive?).
>
> I'd delete that editor and go get a new one, that's what. :)

So would I, but, of course, that's not what Emacs does.  It just turns
off auto-save and warns you in the mini-buffer.  Here's the message:

    Buffer foo.txt has shrunk a lot; auto save disabled in that buffer
    until next real save

Emacs' auto-save is triggered by default on idle, so it should never
happen while you are typing.  However, even if it does, it is not going
to get in your way.

And, like all things Emacs, if you do not like the default you can
change it easily.

>> The solution, of course, is to manually save *before* the fork.
>
> Yes, but the reality is that people will sometimes forget to do so, or
> in that order.

It would seem to me that you would basically have to be the sort of
person that *relies* on the auto-save feature to do things in any other
order.  If I am manually going fork a file then it seems like I would
want to make sure that I forked from a known good spot.

I used to work on a help desk and my experience says that most people
don't even know that their editor has an auto-save (or how to get the
auto-save files it creates) until something tragic happens.  They
certainly don't expect their editor to magically save the correct state
of a file that they didn't manually save.

>> I real life I don't think that this is much of a problem, especially
>> with Emacs which has infinite undo
>
> Infinite undo? On what planet? When I experimented with it, back in
> college, I found the undo to just toggle undo/redo like Windows
> Notepad's. (I ended up experimenting also with LSD and mescaline and
> decided on none of the above.)

I thought it was infinite undo, but according to the manual the default
limit is 12,000,000 bytes.  Needless to say, I have never actually ran
out of undo information.

>> What's more, Emacs is flexible enough that you can easily set up
>> whatever sort of auto-save functionality that you think you want.
>
> If you're a computer programmer with time to spare reprogramming the
> editor instead of actually doing your job, perhaps.

I'm just saying that, if you care about auto-save as much as you seem to
care about auto-save, that Emacs gives you options that other tools do
not.  Personally, other than changing where Emacs saves its auto-save
files I just stick with the defaults.

I personally think that Emacs' superior auto-save features would be a
strange reason for choosing Emacs, but who am I to judge.

>> Emacs can do that.  It has an auto-save-hook that you can add code to
>
> and ten million ways to subtly or drastically-but-irrecoverably fuck
> things up if you make some subtle mistake doing so, no doubt.
>
> Thanks, but no thanks.

Obviously any time you are writing code you have the opportunity to code
something that doesn't work.  On the other hand, computers are far less
likely to "forget" a step than you or I are.  Automation is generally a
good thing.

>> Another alternative, of course, is to simply save the file whenever
>> you feel you have something worth saving.
>
> Well, there you go, then. That's exactly what I was originally
> advocating! So, you've come around to agreeing with me at last.
>
> Ah, progress ...



>>> Sequences of numbered files used to risk filling up the filesystem,
>>> too, but not with text files in this day and age.
>>
>> On the bright side Emacs can be made to do whatever makes you the
>> happiest.
>
> Can it be made to cut itself, scream like a thing tortured, and then
> die? ;)

That seems like an odd thing to want from a text editor, but yes, you
can teach emacs to do that.  I even tested it.

--8<---------------cut here---------------start------------->8---
(defun die! ()
  (save-buffers-kill-emacs t))

(defun scream ()
  (message "Arrgggh!"))

(defun cut-yourself ()
  (interactive)
  (message "I am bleeding")
  (sleep-for 5)
  (scream)
  (sleep-for 5)
  (die!))
--8<---------------cut here---------------end--------------->8---

>> Very few other programs have anywhere near that sort of flexibility.
>
> If I want that much flexibility I'll look at that Russian mail-order
> catalog. There *is* something to be said for structure and stability
> in fundamental, daily-use tools. And standards-adherence.

Emacs has been adhering to the same standards almost as long as I have
been alive.

>> For most folks, however, the defaults are what they want.
>
> Wait a minute. I thought you just said that the Emacs defaults are
> what most people want. But that's clearly impossible, so I can only
> presume that your post got garbled in transit. Care to repost whatever
> you'd said at this point?

Emacs' defaults for auto-save are what most people want.


reply via email to

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