unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Joost Kremers <joostkremers@fastmail.fm>
To: Karl Fogel <kfogel@red-bean.com>
Cc: Noel Taylor <noeltaylo@gmail.com>, Richard Stallman <rms@gnu.org>,
	Bingo <right.ho@gmail.com>,
	emacs-devel@gnu.org
Subject: Re: Emacs undo behavior frustrating for new users. (WAS: delete-selection-mode as default)
Date: Mon, 15 Oct 2018 09:54:03 +0200	[thread overview]
Message-ID: <87sh17prvo.fsf@fastmail.fm> (raw)
In-Reply-To: <87woqka4wg.fsf_-_@red-bean.com>


On Sun, Oct 14 2018, Karl Fogel wrote:
> Richard Stallman <rms@gnu.org> writes:
>>  > 1. Emacs undo is frustrating for most new users.
>>
>>If that is true, it is an important issue.
>>What evidence is there for that statement?
>>If so, do we know why it is so?
>
> Here is an answer from my friend Noel, who was recently a new 
> user of Emacs.  (He still uses Emacs, he's just no longer a new 
> user.)  When I saw your question above, I remembered Noel's 
> frustration with Emacs's default undo behavior when he was 
> learning Emacs, and I asked him if he'd be willing to write it 
> up.

Personally, I'm also not very fond of Emacs' standard undo system, 
even though I appreciate the fact that past states of the buffer 
don't get lost, unlike the more common MS-Word undo/redo system. 
It's a little surprising to me, though, that this discussion comes 
up, because I thought the difficulties of Emacs' undo system for 
new users are well-known, and moreover, the solution is already on 
GNU ELPA in the form of the `undo-tree' package: 

<https://elpa.gnu.org/packages/undo-tree.html>

In short, undo-tree gives Emacs the common undo/redo system, but 
with an Emacs twist: instead of a single, linear, history of 
changes, in which previously "undone" states are lost when you 
edit the text in any way, are not lost but stored as separate 
branches. So the history of changes is not a single, linear line, 
it's a tree. One path in this tree is current, meaning undo/redo 
will move over it, but you can switch branches to access states 
that would have been lost by MS Word.

The package comes with a visualiser that shows you the tree and 
that updates the buffer when you walk it, making it very easy to 
get back to any state of the buffer's edit history. It also has 
some other niceties, such as time stamps and diff display.

The beauty of the package is that a new user can simply use 
undo/redo in the way they[1] are familiar with, but the entire 
power of Emacs' undo system is there when needed.

IMvHO `undo-tree' should simply be made the default undo in Emacs.

Joost



[1] Sorry, Richard! :-)

-- 
Joost Kremers
Life has its moments



  parent reply	other threads:[~2018-10-15  7:54 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-08  3:49 delete-selection-mode as default (WAS: Some developement questions) Bingo
2018-09-08  7:23 ` Eli Zaretskii
2018-09-08  8:33   ` Bingo
2018-09-08  9:26     ` Eli Zaretskii
2018-09-09 13:13       ` Alan Mackenzie
2018-09-09 14:53         ` Drew Adams
2018-09-09 15:12         ` Eli Zaretskii
2018-09-09 17:59         ` Ergus
2018-09-09 19:12           ` Alan Mackenzie
2018-09-09 22:33             ` Ergus
2018-09-09 23:34               ` Drew Adams
2018-09-11  4:22 ` Richard Stallman
2018-10-14 16:07   ` Emacs undo behavior frustrating for new users. (WAS: delete-selection-mode as default) Karl Fogel
2018-10-14 18:42     ` Emacs undo behavior frustrating for new users Stefan Monnier
2018-10-15  4:59       ` Karl Fogel
2018-10-15  6:11         ` Noel Taylor
2018-10-15  5:43     ` Emacs undo behavior frustrating for new users. (WAS: delete-selection-mode as default) Richard Stallman
2018-10-15  7:28       ` Van L
2018-10-16  6:44         ` Richard Stallman
2018-10-17 10:09           ` Nathan Moreau
2018-10-17 10:38             ` Emacs undo behavior frustrating for new users Andreas Schwab
2018-10-18  7:23               ` Richard Stallman
2018-10-17 12:00             ` Garreau, Alexandre
2018-10-17 14:05               ` Nathan Moreau
2018-10-17 14:20                 ` Garreau, Alexandre
2018-10-17 14:33               ` Yuri Khan
2018-10-17 16:06                 ` Eli Zaretskii
2018-10-18  7:23                 ` Richard Stallman
2018-10-15  8:26       ` Emacs undo behavior frustrating for new users. (WAS: delete-selection-mode as default) Yuri Khan
2018-10-16  6:44         ` Richard Stallman
2018-10-16  7:22           ` Yuri Khan
2018-10-17  7:05             ` Richard Stallman
2018-10-20  8:15           ` Marcin Borkowski
2018-10-20 18:33             ` Elias Mårtenson
2018-10-15  7:54     ` Joost Kremers [this message]
2018-10-15  9:27       ` Joost Kremers
2018-10-15 12:01       ` Emacs undo behavior frustrating for new users Óscar Fuentes
2018-10-15 13:28         ` Joost Kremers
2018-10-16 12:27           ` Stefan Monnier
2018-10-17  7:05             ` Richard Stallman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87sh17prvo.fsf@fastmail.fm \
    --to=joostkremers@fastmail.fm \
    --cc=emacs-devel@gnu.org \
    --cc=kfogel@red-bean.com \
    --cc=noeltaylo@gmail.com \
    --cc=right.ho@gmail.com \
    --cc=rms@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).