* Re: delete-selection-mode as default (WAS: Some developement questions) @ 2018-09-08 3:49 Bingo 2018-09-08 7:23 ` Eli Zaretskii 2018-09-11 4:22 ` Richard Stallman 0 siblings, 2 replies; 40+ messages in thread From: Bingo @ 2018-09-08 3:49 UTC (permalink / raw) To: emacs-devel [-- Attachment #1: Type: text/plain, Size: 612 bytes --] Hi, Can we consider changing defaults only for users who don't have any init file at all ? This change may not solve many problems, due to two other features of emacs : 1. Emacs undo is frustrating for most new users. Correcting mistakes with delete-selection-mode i.e. restore a selection that was deleted due to a mistaken delete by typing/pasting , will need them to use undo. 2. In their attempt to play with undo/redo, they might do C-y. Which pastes in Emacs : but it is the key for redo in many "modern" editors. This can cause more unintended deletions in delete-selection-mode. Thanks [-- Attachment #2: Type: text/html, Size: 662 bytes --] ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 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-11 4:22 ` Richard Stallman 1 sibling, 1 reply; 40+ messages in thread From: Eli Zaretskii @ 2018-09-08 7:23 UTC (permalink / raw) To: Bingo; +Cc: emacs-devel > Date: Sat, 08 Sep 2018 09:19:21 +0530 > From: Bingo <right.ho@gmail.com> > > Can we consider changing defaults only for users who don't have any init file at all ? > > This change may not solve many problems, due to two other features of emacs : What problems will such a change solve? Personally, I think that changing the behavior just because there's an init file, even though that init file doesn't explicitly mention the affected features, would be confusing. More importantly, I think the argument about the defaults, at least for veteran Emacs users matters mainly when there is no init file anyway. > 1. Emacs undo is frustrating for most new users. Correcting mistakes with delete-selection-mode i.e. restore > a selection that was deleted due to a mistaken delete by typing/pasting , will need them to use undo. > > 2. In their attempt to play with undo/redo, they might do C-y. Which pastes in Emacs : but it is the key for redo > in many "modern" editors. This can cause more unintended deletions in delete-selection-mode. So I guess you are saying delete-selection-mode should not be turned on by default? If so, why do we need the change you propose? ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-08 7:23 ` Eli Zaretskii @ 2018-09-08 8:33 ` Bingo 2018-09-08 9:26 ` Eli Zaretskii 0 siblings, 1 reply; 40+ messages in thread From: Bingo @ 2018-09-08 8:33 UTC (permalink / raw) Cc: emacs-devel Le 8 septembre 2018 12:53:46 GMT+05:30, Eli Zaretskii <eliz@gnu.org> a écrit : >> Date: Sat, 08 Sep 2018 09:19:21 +0530 >> From: Bingo <right.ho@gmail.com> >> >> Can we consider changing defaults only for users who don't have any >init file at all ? >> >> This change may not solve many problems, due to two other features of >emacs : > >What problems will such a change solve? > >Personally, I think that changing the behavior just because there's an >init file, even though that init file doesn't explicitly mention the >affected features, would be confusing. > >More importantly, I think the argument about the defaults, at least >for veteran Emacs users matters mainly when there is no init file >anyway. I mean : 1. When Emacs first starts, see if there is an init file. Various modern software do so, so we would be on solid ground there. 2. If so, trust the user that he would have set delete-selection-mode as required. This would avoid stepping on the toes of power users : which form the majority of Emacs users. 3. If not, create an init file with these "modern" options. This can attract the new users we want. Modern software create a lot of files and registry entries for cache and config, no one would blame Emacs. > >> 1. Emacs undo is frustrating for most new users. Correcting mistakes >with delete-selection-mode i.e. restore >> a selection that was deleted due to a mistaken delete by >typing/pasting , will need them to use undo. >> >> 2. In their attempt to play with undo/redo, they might do C-y. Which >pastes in Emacs : but it is the key for redo >> in many "modern" editors. This can cause more unintended deletions in >delete-selection-mode. > >So I guess you are saying delete-selection-mode should not be turned >on by default? If so, why do we need the change you propose? Personally, I would rather delete-selection-mode not be on by default. But I know nothing about what is good for new users. If it must be turned on, maybe people with init files can be spared ? Thanks a lot Hi Eli, clarified inline : ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-08 8:33 ` Bingo @ 2018-09-08 9:26 ` Eli Zaretskii 2018-09-09 13:13 ` Alan Mackenzie 0 siblings, 1 reply; 40+ messages in thread From: Eli Zaretskii @ 2018-09-08 9:26 UTC (permalink / raw) To: Bingo; +Cc: emacs-devel > Date: Sat, 08 Sep 2018 14:03:46 +0530 > CC: emacs-devel@gnu.org > From: Bingo <right.ho@gmail.com> > > 1. When Emacs first starts, see if there is an init file. Various modern software do so, so we would be on solid ground there. > > 2. If so, trust the user that he would have set delete-selection-mode as required. I'm not sure this is a valid assumption. A user could have delete-selection-mode not turned on because she had no idea such a thing existed in Emacs. > This would avoid stepping on the toes of power users : which form the majority of Emacs users. Please note that veteran users only care about defaults when they need to use Emacs on someone else's machine, or when logged on as some other user (like root or su). ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-08 9:26 ` Eli Zaretskii @ 2018-09-09 13:13 ` Alan Mackenzie 2018-09-09 14:53 ` Drew Adams ` (2 more replies) 0 siblings, 3 replies; 40+ messages in thread From: Alan Mackenzie @ 2018-09-09 13:13 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Bingo, emacs-devel Hello, Eli. On Sat, Sep 08, 2018 at 12:26:43 +0300, Eli Zaretskii wrote: > > Date: Sat, 08 Sep 2018 14:03:46 +0530 > > CC: emacs-devel@gnu.org > > From: Bingo <right.ho@gmail.com> > > 1. When Emacs first starts, see if there is an init file. Various > > modern software do so, so we would be on solid ground there. > > 2. If so, trust the user that he would have set delete-selection-mode > > as required. > I'm not sure this is a valid assumption. A user could have > delete-selection-mode not turned on because she had no idea such a > thing existed in Emacs. > > This would avoid stepping on the toes of power users : which form > > the majority of Emacs users. > Please note that veteran users only care about defaults when they need > to use Emacs on someone else's machine, or when logged on as some other > user (like root or su). A third situation, in which at least one veteran user (me) cares is when testing a bug fix with emacs -Q. In such cases, I can get fairly irritated by, e.g., transient-mark-mode, and would get even more irritated were delete-selection-mode to be enabled by default. -- Alan Mackenzie (Nuremberg, Germany). ^ permalink raw reply [flat|nested] 40+ messages in thread
* RE: delete-selection-mode as default (WAS: Some developement questions) 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 2 siblings, 0 replies; 40+ messages in thread From: Drew Adams @ 2018-09-09 14:53 UTC (permalink / raw) To: Alan Mackenzie, Eli Zaretskii; +Cc: Bingo, emacs-devel > A third situation, in which at least one veteran user (me) cares is when > testing a bug fix with emacs -Q. In such cases, I can get fairly > irritated by, e.g., transient-mark-mode, and would get even more > irritated were delete-selection-mode to be enabled by default. I don't understand. If it were on by default then to repro the user's recipe from emacs -Q you would want to have it on, no? Even now, when it is not on by default, if a user recipe to repro it says to turn on d-s-m you would do that, no? Are you saying that it would annoy you to follow a user's recipe? Yes, if it were on by default then more bug recipes would have it on than off, on average. And if you were to follow a recipe with it on then you might be annoyed - as you are now by t-m-m being on in most recipes. ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 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 2 siblings, 0 replies; 40+ messages in thread From: Eli Zaretskii @ 2018-09-09 15:12 UTC (permalink / raw) To: Alan Mackenzie; +Cc: right.ho, emacs-devel > Date: Sun, 9 Sep 2018 13:13:16 +0000 > Cc: Bingo <right.ho@gmail.com>, emacs-devel@gnu.org > From: Alan Mackenzie <acm@muc.de> > > > Please note that veteran users only care about defaults when they need > > to use Emacs on someone else's machine, or when logged on as some other > > user (like root or su). > > A third situation, in which at least one veteran user (me) cares is when > testing a bug fix with emacs -Q. Yes, of course. Same here. ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 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 2 siblings, 1 reply; 40+ messages in thread From: Ergus @ 2018-09-09 17:59 UTC (permalink / raw) To: Alan Mackenzie; +Cc: Eli Zaretskii, Bingo, emacs-devel On Sun, Sep 09, 2018 at 01:13:16PM +0000, Alan Mackenzie wrote: >Hello, Eli. > >On Sat, Sep 08, 2018 at 12:26:43 +0300, Eli Zaretskii wrote: >> > Date: Sat, 08 Sep 2018 14:03:46 +0530 >> > CC: emacs-devel@gnu.org >> > From: Bingo <right.ho@gmail.com> > >> > 1. When Emacs first starts, see if there is an init file. Various >> > modern software do so, so we would be on solid ground there. > >> > 2. If so, trust the user that he would have set delete-selection-mode >> > as required. > >> I'm not sure this is a valid assumption. A user could have >> delete-selection-mode not turned on because she had no idea such a >> thing existed in Emacs. > >> > This would avoid stepping on the toes of power users : which form >> > the majority of Emacs users. > >> Please note that veteran users only care about defaults when they need >> to use Emacs on someone else's machine, or when logged on as some other >> user (like root or su). > >A third situation, in which at least one veteran user (me) cares is when >testing a bug fix with emacs -Q. In such cases, I can get fairly >irritated by, e.g., transient-mark-mode, and would get even more >irritated were delete-selection-mode to be enabled by default. > >-- >Alan Mackenzie (Nuremberg, Germany). > I understand this. But then I only see 2 possible solutions: 1) Keep emacs defaults only for experienced users, so forget about getting new users and let it die slowly. 2) Start thinking in the new generations who will inherit emacs but already have a standard idea of how editors should behave; very different of the emacs defaults. As a good consensus (and we are again where this thread started) is the option to make an initial assistant (like the one in spacemacs but maybe more complete) which can provide a bunch of options to the user to set/unset them (with some information or more options depending of the user (it can start with standard, advanced, minimal like many other programs)). And add this configuration as the init file (if there was not one) or as an extra file that cannot be skipped with -Q but with another option that could be added. This is maybe a bit more complicated to implement, but it can satisfy both cases somehow. There is a point where old projects need to adapt themselves to the running times, not only importing functionalities, but also updating functionalities they already have in order to improve them. But we need to think in the normal users which are majority in any project. ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-09 17:59 ` Ergus @ 2018-09-09 19:12 ` Alan Mackenzie 2018-09-09 22:33 ` Ergus 0 siblings, 1 reply; 40+ messages in thread From: Alan Mackenzie @ 2018-09-09 19:12 UTC (permalink / raw) To: Ergus; +Cc: Eli Zaretskii, Bingo, emacs-devel Hello, Ergus. On Sun, Sep 09, 2018 at 19:59:53 +0200, Ergus wrote: > On Sun, Sep 09, 2018 at 01:13:16PM +0000, Alan Mackenzie wrote: > >Hello, Eli. > >On Sat, Sep 08, 2018 at 12:26:43 +0300, Eli Zaretskii wrote: > >> > Date: Sat, 08 Sep 2018 14:03:46 +0530 > >> > CC: emacs-devel@gnu.org > >> > From: Bingo <right.ho@gmail.com> > >> > 1. When Emacs first starts, see if there is an init file. Various > >> > modern software do so, so we would be on solid ground there. > >> > 2. If so, trust the user that he would have set delete-selection-mode > >> > as required. > >> I'm not sure this is a valid assumption. A user could have > >> delete-selection-mode not turned on because she had no idea such a > >> thing existed in Emacs. > >> > This would avoid stepping on the toes of power users : which form > >> > the majority of Emacs users. > >> Please note that veteran users only care about defaults when they need > >> to use Emacs on someone else's machine, or when logged on as some other > >> user (like root or su). > >A third situation, in which at least one veteran user (me) cares is when > >testing a bug fix with emacs -Q. In such cases, I can get fairly > >irritated by, e.g., transient-mark-mode, and would get even more > >irritated were delete-selection-mode to be enabled by default. > >-- > >Alan Mackenzie (Nuremberg, Germany). > I understand this. But then I only see 2 possible solutions: > 1) Keep emacs defaults only for experienced users, so forget about > getting new users and let it die slowly. Emacs is over 40 years old, and has seen many fads come and go. It has been steadily acquiring new users in that time, and losing old ones. As a program it combines extreme user friendliness with a long steep learning curve (i.e. it is not "beginner friendly"). I don't think we should be trying to change these attributes. > 2) Start thinking in the new generations who will inherit emacs but > already have a standard idea of how editors should behave; very > different of the emacs defaults. Many of them, faced with a choice between lots of clones which behave in a beginner-friendly, but suboptimal fashion, and the freshness of Emacs will come to chose Emacs. We should not deprive them of this choice by dumbing down Emacs. Incidentally, the current discussion, in essence, has been going on on this list for the last 20 years or so, and probably quite a bit longer. > As a good consensus (and we are again where this thread started) is the > option to make an initial assistant (like the one in spacemacs but maybe > more complete) which can provide a bunch of options to the user to > set/unset them (with some information or more options depending of the > user (it can start with standard, advanced, minimal like many other > programs)). And add this configuration as the init file (if there was > not one) or as an extra file that cannot be skipped with -Q but with > another option that could be added. I suggested something similar some years ago, but never got around to implementing it: that there be several sets of defaults, and a user choses a set of defaults by the name of the command she starts Emacs with: for example, I would start emacs-classic, whereas you would start something like emacs-cua. This could be implemented by hard links, with the Emacs binary finding its "pre-"initialisation file by checking the name it was invoked by. Or something like that. > This is maybe a bit more complicated to implement, but it can satisfy > both cases somehow. > There is a point where old projects need to adapt themselves to the > running times, ..... You have to be careful that this doesn't mean dumbing down. > .... not only importing functionalities, but also updating > functionalities they already have in order to improve them. But we need > to think in the normal users which are majority in any project. As a counterexample to your argument, look at the inconsistent series of messes that recent versions of Firefox have become. -- Alan Mackenzie (Nuremberg, Germany). ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-09 19:12 ` Alan Mackenzie @ 2018-09-09 22:33 ` Ergus 2018-09-09 23:34 ` Drew Adams 0 siblings, 1 reply; 40+ messages in thread From: Ergus @ 2018-09-09 22:33 UTC (permalink / raw) To: Alan Mackenzie; +Cc: Eli Zaretskii, Bingo, emacs-devel On Sun, Sep 09, 2018 at 07:12:53PM +0000, Alan Mackenzie wrote: Hello Alan: >Hello, Ergus. > >On Sun, Sep 09, 2018 at 19:59:53 +0200, Ergus wrote: > >> On Sun, Sep 09, 2018 at 01:13:16PM +0000, Alan Mackenzie wrote: >> >Hello, Eli. > >> >On Sat, Sep 08, 2018 at 12:26:43 +0300, Eli Zaretskii wrote: >> >> > Date: Sat, 08 Sep 2018 14:03:46 +0530 >> >> > CC: emacs-devel@gnu.org >> >> > From: Bingo <right.ho@gmail.com> > >> >> > 1. When Emacs first starts, see if there is an init file. Various >> >> > modern software do so, so we would be on solid ground there. > >> >> > 2. If so, trust the user that he would have set delete-selection-mode >> >> > as required. > >> >> I'm not sure this is a valid assumption. A user could have >> >> delete-selection-mode not turned on because she had no idea such a >> >> thing existed in Emacs. > >> >> > This would avoid stepping on the toes of power users : which form >> >> > the majority of Emacs users. > >> >> Please note that veteran users only care about defaults when they need >> >> to use Emacs on someone else's machine, or when logged on as some other >> >> user (like root or su). > >> >A third situation, in which at least one veteran user (me) cares is when >> >testing a bug fix with emacs -Q. In such cases, I can get fairly >> >irritated by, e.g., transient-mark-mode, and would get even more >> >irritated were delete-selection-mode to be enabled by default. > >> >-- >> >Alan Mackenzie (Nuremberg, Germany). > > >> I understand this. But then I only see 2 possible solutions: > >> 1) Keep emacs defaults only for experienced users, so forget about >> getting new users and let it die slowly. > >Emacs is over 40 years old, and has seen many fads come and go. It has >been steadily acquiring new users in that time, and losing old ones. As >a program it combines extreme user friendliness with a long steep >learning curve (i.e. it is not "beginner friendly"). I don't think we >should be trying to change these attributes. > I partially agree because the project survived more or less actively. But in the last 10 years the use have strongly declined. The first 20 years emacs adapted to changes very quickly, changing details, architectures, adopting gui, extending. After the 2000 appeared many other editors and they more or less standardized what text editing is. But also other factors affected the emacs extension like the ubiquity of windows, notepad++ (with almost not learning curve), emacs not being installed by default in the GNU/Linux distributions. So emacs keeps a number of users like in the 90s while now the number of programmers and developers in the world is orders of magnitude higher. And we did nothing. >> 2) Start thinking in the new generations who will inherit emacs but >> already have a standard idea of how editors should behave; very >> different of the emacs defaults. > >Many of them, faced with a choice between lots of clones which behave in >a beginner-friendly, but suboptimal fashion, and the freshness of Emacs >will come to chose Emacs. We should not deprive them of this choice by >dumbing down Emacs. > >Incidentally, the current discussion, in essence, has been going on on >this list for the last 20 years or so, and probably quite a bit longer. > The point is that emacs can bring the same experience than any other editor just some configuration (projects like spacemacs proves this). But the default experience is too different that most users feel scared and move to something "simpler". And we do nothing to avoid this; stating with the tutorial or the online documentation (where 99% of the users look for stuff and not in the self documentation, stackoverflow success is the prove that nobody reads the manuals or the full documentation in our days). There is not an interactive foro where users can make questions and answer each other actively, and if the emacswiki is not updated in many articles is a prove that we don't have enough users proportional to the projects' dimension. Add to this that many packages and functionalities are duplicated in different packages and the user gets confused and some packages in the repositories are unmaintained since 5 years or more. Looking how the number of sublime text users grew in 2 years shows all the users that emacs is loosing just for not bringing an initial good face. Because Sublime is not superior to emacs in any sense, except the behavior that is "like expected". >> As a good consensus (and we are again where this thread started) is the >> option to make an initial assistant (like the one in spacemacs but maybe >> more complete) which can provide a bunch of options to the user to >> set/unset them (with some information or more options depending of the >> user (it can start with standard, advanced, minimal like many other >> programs)). And add this configuration as the init file (if there was >> not one) or as an extra file that cannot be skipped with -Q but with >> another option that could be added. > >I suggested something similar some years ago, but never got around to >implementing it: that there be several sets of defaults, and a user >choses a set of defaults by the name of the command she starts Emacs >with: for example, I would start emacs-classic, whereas you would start >something like emacs-cua. This could be implemented by hard links, with >the Emacs binary finding its "pre-"initialisation file by checking the >name it was invoked by. Or something like that. > >> This is maybe a bit more complicated to implement, but it can satisfy >> both cases somehow. > >> There is a point where old projects need to adapt themselves to the >> running times, ..... > >You have to be careful that this doesn't mean dumbing down. > OK, but it doesn't mean that everything should be frozen and unchanged because it works as it is. Maybe is can be better, or in general the users prefer that way (there should be a reason); and the project is not only for it's developers. Have you ever think why there are so many sublime text users? >> .... not only importing functionalities, but also updating >> functionalities they already have in order to improve them. But we need >> to think in the normal users which are majority in any project. > >As a counterexample to your argument, look at the inconsistent series of >messes that recent versions of Firefox have become. > Yes, But Firefox lost like the 70% of its users in 5 years because they offered the same experience but the rest of the world moved on, so they just tried to fix the issues they had with speed and memory usage. They also have the chrome competition and they depend of web architectures and interfaces that evolves constantly. So the comparison is not parallel with emacs from my point of view. But, as a consequence of latest changes, many chrome, chromium, and Opera users moved back to Firefox again. Plugins started to be maintained again, there are some more contributors now. If they had made the changes gradually among the years maybe some users keep there but also the changes had been not so drastic and the users had time to adapt. In general the project has more live now, in spite of the problems associated with any big change. And actually Firefox works better now than before Quantum, specially in mobile. >-- >Alan Mackenzie (Nuremberg, Germany). ^ permalink raw reply [flat|nested] 40+ messages in thread
* RE: delete-selection-mode as default (WAS: Some developement questions) 2018-09-09 22:33 ` Ergus @ 2018-09-09 23:34 ` Drew Adams 0 siblings, 0 replies; 40+ messages in thread From: Drew Adams @ 2018-09-09 23:34 UTC (permalink / raw) To: Ergus, Alan Mackenzie; +Cc: Eli Zaretskii, Bingo, emacs-devel > But the default experience is too different that most users feel > scared and move to something "simpler". And we do nothing to avoid this; > stating with the tutorial or the online documentation (where 99% of the > users look for stuff and not in the self documentation, stackoverflow > success is the prove that nobody reads the manuals or the full > documentation in our days). It's true that many users, particularly younger ones, do not look first (or much) to the documentation these days. This is true generally, not just for Emacs. It seems quicker and easier to google, watch a video, or ask a question on a Q&A site. That's not a reason not to continue having great documentation, IMO. And the fact that a new Emacs user won't necessarily think of or learn about `C-h m' etc. is not a reason not to continue to have great doc strings and help commands. And often the ultimate result of googling or posing a question here or there is to end up at an Emacs manual. IOW, there needs to be some real meat-and-bones content somewhere. And for Emacs the main repositories of such content are (1) the code itself, (2) the Emacs manual, and (3) the Elisp manual. (And other Emacs manuals, such as Org.) On sites like emacs.stackexchange, while providing an answer to a question I, and others, generally try to also teach how to ask questions of Emacs itself, including the help commands and how to use the manual efficiently. Emacs is different from many interactive interfaces for developers in being particularly helpful and discoverable. There's room for improvement, of course. But the fact that new Emacs users might not know that such self-help exists represents an opportunity to make it more apparent. It's not a reason to put less emphasis on the help and doc. > There is not an interactive foro where users can make questions and > answer each other actively, There are several, I think, from discussion sites such as reddit to Q&A sites such as emacs.stackexchange. There is no GNU forum, I guess. But I'm not convinced there needs to be one. ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-08 3:49 delete-selection-mode as default (WAS: Some developement questions) Bingo 2018-09-08 7:23 ` Eli Zaretskii @ 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 1 sibling, 1 reply; 40+ messages in thread From: Richard Stallman @ 2018-09-11 4:22 UTC (permalink / raw) To: Bingo; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > 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? -- Dr Richard Stallman President, Free Software Foundation (https://gnu.org, https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 40+ messages in thread
* Emacs undo behavior frustrating for new users. (WAS: delete-selection-mode as default) 2018-09-11 4:22 ` Richard Stallman @ 2018-10-14 16:07 ` Karl Fogel 2018-10-14 18:42 ` Emacs undo behavior frustrating for new users Stefan Monnier ` (2 more replies) 0 siblings, 3 replies; 40+ messages in thread From: Karl Fogel @ 2018-10-14 16:07 UTC (permalink / raw) To: emacs-devel; +Cc: Noel Taylor, Richard Stallman, Bingo 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. I've CC'd him here, so he can participate in any followup discussion. > From: Noel Taylor <noeltaylo@gmail.com> > Subject: why emacs undo behavior can be confusing to new users > To: Karl Fogel <kfogel@red-bean.com> > Date: Sun, 14 Oct 2018 01:32:52 -0500 > > To whom it may be of interest: > > There are differences between the "undo" function of emacs and that > of most other programs that may be confusing, and potentially > frustrating, to new users. > > There are, of course, countless programs with an "undo" feature, but > in my personal experience, the "undo" behavior of emacs is unique. > Every other program I can recall using, from Microsoft Word to Gmail > to any web browser with "back" and "forward" buttons - if it has an > "undo" function at all - has implemented "undo" in the same way, and > I posit that many newcomers to emacs will be surprised that "undo" in > emacs does not behave as it does in these other programs. > > In the following paragraphs I will use the term "MS Word user" to > refer to a person who is familiar with the "undo" behavior of other > programs but who is new to emacs. > > THE FUNDAMENTAL DESIGN DIFFERENCE: > > The fundamental difference between the "undo" behavior of emacs and > that of other programs is that other programs have separate "undo" > and "redo" functions that act as a kind of temporal scroll bar, > moving the document back and forth in time as the physical scroll bar > moves it up and down in space. Emacs, by contrast, really only has > "undo", and it does not slide the document back in time so much as it > recovers a previous state of the document and copies it into the > present. This difference in design is ultimately at the root of the > confusion for new users of emacs, and it manifests in two main > behaviors. > > BEHAVIOR # 1 > > The most immediately noticeable way in which the undo behavior of > emacs differs from that of MS Word and other programs is that > "undoing" something in those other programs is not itself an undoable > action. As such, the chain of undoable / redoable actions (let's call > it the "action history") can - and frequently does - become shorter, > whereas in emacs it normally only grows longer. > > For example, in MS Word, if a user performs actions A, B, C, and D, > and then undoes the last two actions, they will be returned to a > state in which only A and B have been performed. If the user then > performs a new action E, the actions C and D will be lost, and the > new action history will comprise only actions A, B, and E. > > This behavior may seem inherently undesirable in a text editor, but > the MS Word user expects and even relies on it, as they are > accustomed to maintaining a mental model of their action history as > they edit their document, and the "undo" and "redo" actions can help > them with this. > > The MS Word user is used to being able to traverse their action > history without the traversal itself having any effect. Again, in MS > Word, if a user performs actions A, B, C, D, and E, they can use undo > and redo to move back and forth between A and D, between B and E, > between A and C, etc. as much as they like. And at the end of all the > undoing and redoing, their action history will still comprise only > those five actions. > > If the same user tries this in emacs, they may be surprised to find > that a point they thought was only a few "undo" actions away now > takes much longer to reach. If for example, they perform actions A, > B, C, D, and E: > > A -> B -> C-> D -> E > > and then "undo" back to point B and *then* "undo undo" back to point > E again, the MS Word user will imagine their action history as being > exactly the same as when they originally performed action E, when in > fact it looks like this: > > A -> B -> C -> D -> E -> D-> C -> B -> C -> D -> E > > If they then decide they want to return to point A, they will be > confused that it now takes 10 "undo" actions to get there instead of > 4 actions. They will also wonder why the buffer seems to be moving > first backward, then forward, then backward again in time. They may > even break the undo procedure before they ever reach point A to try > something else, which only makes point A more remote than before. A > growing sense of frustration then follows as they continue to undo > and redo, accustomed as they are to being able to roll back and forth > without side effects, but instead finding that earlier points they > thought would be nearby are ever more distant. It has now become > impossible for them to maintain a mental model of their increasingly > complicated action history, so they swear, return the buffer to some > state that is sort-of like what they want, save it to a file, kill > the buffer, and re-open it, all for the sake of dumping the > convoluted action history. > > I've been using emacs for years now and even though I am very used to > its "undo" behavior, I still make frequent use of the following > addition to my .emacs file: > > (defun forget-undo () "Drop this buffer's undo history." > (interactive) (setq buffer-undo-list nil)) > > BEHAVIOR # 2 > > The other behavior that can be confusing to new users of emacs is > that if the user is in the process of "undoing" to an earlier point > in the action history, the act of moving the cursor (for example, > with the arrow keys) will interrupt the undo sequence even though no > change has been made to the contents of the buffer. > > MS Word and other programs do not work like this. Actions that do not > affect the text also do not affect the user's action history. If we > again assume that the MS Word user has completed actions A, B, C, D, > and E, and that they have then performed "undo" actions to go from > point E back to point B, they can move the cursor around all they > like (which they might do because perhaps it is easier at that moment > to view a different part of the text by moving the cursor rather than > by moving a scroll bar), and they can still "fast-forward" again to > point E. Merely moving the cursor has not affected their action > history. > > MS Word and other programs therefore define two kinds of actions: > those that affect the contents of the text, also causing any > "forward" history to be lost, and those that do not affect the > contents of the text, leaving the action history unaffected. > > CONCLUSION > > I hope that I have clearly articulated why the emacs "undo" can be > confusing to new users. I am not making any claims as to which style > is better. However, adding the MS-Word-style behavior - with separate > "undo" and "redo" actions - as a built-in configuration option to > emacs might make it easier for new users to approach. > > N. Taylor ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Emacs undo behavior frustrating for new users. 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 ` Stefan Monnier 2018-10-15 4:59 ` Karl Fogel 2018-10-15 5:43 ` Emacs undo behavior frustrating for new users. (WAS: delete-selection-mode as default) Richard Stallman 2018-10-15 7:54 ` Joost Kremers 2 siblings, 1 reply; 40+ messages in thread From: Stefan Monnier @ 2018-10-14 18:42 UTC (permalink / raw) To: emacs-devel > 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. BTW, Emacs does provide the "usual" undo command under the name `undo-only` (it only affects the way Emacs traverses the undo history, not the way the undo history is built, so it can be mixed with Emacs's traditional `undo` just fine). We could also provide a corresponding `undo-redo` command, which similarly only performs redo actions. >> The other behavior that can be confusing to new users of emacs is >> that if the user is in the process of "undoing" to an earlier point >> in the action history, the act of moving the cursor (for example, >> with the arrow keys) will interrupt the undo sequence even though no >> change has been made to the contents of the buffer. I've been using here a patch which makes `undo` query the user when this happens. More specifically, if you call `undo` when the last buffer modification was itself an undo but the last command was not an undo, it prompts the user asking where they want to continue undoing. Stefan ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Emacs undo behavior frustrating for new users. 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 0 siblings, 1 reply; 40+ messages in thread From: Karl Fogel @ 2018-10-15 4:59 UTC (permalink / raw) To: Stefan Monnier; +Cc: Noel Taylor, emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: >> 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. > >BTW, Emacs does provide the "usual" undo command under the name >`undo-only` (it only affects the way Emacs traverses the undo history, >not the way the undo history is built, so it can be mixed with Emacs's >traditional `undo` just fine). >We could also provide a corresponding `undo-redo` command, which >similarly only performs redo actions. Thanks, Stefan. I've added Noel Taylor back to CC here, so he sees this too. (He's not subscribed to this list.) I didn't know about that command. I had searched for a variable that would control undo behavior -- I wasn't imaginative enough to guess that it might simply be a separate command, rather than a variable that changes the behavior of the familiar command. Noel, want to try binding `undo-only' to replace your normal `undo` keybindings and see if that provides a behavior that seems more natural to you? (And see how much you miss not having `undo-redo'... That probably wouldn't be very hard to implement, but I'm conspicuously not volunteering until we have a sense of how badly it would be missed by someone who is accustomed to having it.) >>> The other behavior that can be confusing to new users of emacs is >>> that if the user is in the process of "undoing" to an earlier point >>> in the action history, the act of moving the cursor (for example, >>> with the arrow keys) will interrupt the undo sequence even though no >>> change has been made to the contents of the buffer. > >I've been using here a patch which makes `undo` query the user when this >happens. More specifically, if you call `undo` when the last buffer >modification was itself an undo but the last command was not an undo, it >prompts the user asking where they want to continue undoing. Interesting! Is that patch posted (or are you planning to post it after all the kinks get worked out)? Best regards, -Karl ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Emacs undo behavior frustrating for new users. 2018-10-15 4:59 ` Karl Fogel @ 2018-10-15 6:11 ` Noel Taylor 0 siblings, 0 replies; 40+ messages in thread From: Noel Taylor @ 2018-10-15 6:11 UTC (permalink / raw) To: Karl Fogel; +Cc: Stefan Monnier, emacs-devel > On Oct 14, 2018, at 11:59 PM, Karl Fogel <kfogel@red-bean.com> wrote: > > Noel, want to try binding `undo-only' to replace your normal `undo` keybindings and see if that provides a behavior that seems more natural to you? Haha not really at this point. I would have loved to in my first few months of using emacs, but by now I don't think it will feel any more natural to me now than it would to you. > (And see how much you miss not having `undo-redo'... That probably wouldn't be very hard to implement, but I'm conspicuously not volunteering until we have a sense of how badly it would be missed by someone who is accustomed to having it.) Ah but I'm long past being accustomed to having it now. If I tried to do my job using the MS Word style undo I'm sure that for me personally - it would be more a hindrance than a help. Such a change could well be useful to new emacs users, but I'm no longer one of those. But I'm still very glad to learn that "undo-only" exists! Thank you, Stefan for pointing that out. And I will try it out at some point - probably not when I'm using emacs for work though. N ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Emacs undo behavior frustrating for new users. (WAS: delete-selection-mode as default) 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 5:43 ` Richard Stallman 2018-10-15 7:28 ` Van L 2018-10-15 8:26 ` Emacs undo behavior frustrating for new users. (WAS: delete-selection-mode as default) Yuri Khan 2018-10-15 7:54 ` Joost Kremers 2 siblings, 2 replies; 40+ messages in thread From: Richard Stallman @ 2018-10-15 5:43 UTC (permalink / raw) To: Karl Fogel; +Cc: noeltaylo, right.ho, emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] I had to hold my nose about the frequent use of sinular "they" in what your friend sent, but it is very interesting. I have nothing in principle against switching to an Undo/Redo system. But there is an obstacle: finding a key for the Redo command. However, I think this aspect of the behavior is bad: > > For example, in MS Word, if a user performs actions A, B, C, and D, > > and then undoes the last two actions, [perse] will be returned to a > > state in which only A and B have been performed. A good Undo/Redo system should save the states C and D somewhere and offer SOME way to get back to them. > > MS Word and other programs therefore define two kinds of actions: > > those that affect the contents of the text, ... and those that do not affect the > > contents of the text, leaving the action history unaffected. This might be feasible to implement as an option. -- Dr Richard Stallman President, Free Software Foundation (https://gnu.org, https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Emacs undo behavior frustrating for new users. (WAS: delete-selection-mode as default) 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-15 8:26 ` Emacs undo behavior frustrating for new users. (WAS: delete-selection-mode as default) Yuri Khan 1 sibling, 1 reply; 40+ messages in thread From: Van L @ 2018-10-15 7:28 UTC (permalink / raw) To: Emacs-Devel devel > I have nothing in principle against switching to an Undo/Redo system. > But there is an obstacle: finding a key for the Redo command. C-< ;; for Undo C-> ;; for Redo The above are undef in Org Mode. People talk about a Big Refactor of Gnus’s source code. The most often used key-commands should be heat mapped and made easily reachable from the homekey row for new layout to key-commands. For me, modifier+space and then whatever keysequence follow makesense. ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Emacs undo behavior frustrating for new users. (WAS: delete-selection-mode as default) 2018-10-15 7:28 ` Van L @ 2018-10-16 6:44 ` Richard Stallman 2018-10-17 10:09 ` Nathan Moreau 0 siblings, 1 reply; 40+ messages in thread From: Richard Stallman @ 2018-10-16 6:44 UTC (permalink / raw) To: Van L; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > I have nothing in principle against switching to an Undo/Redo system. > > But there is an obstacle: finding a key for the Redo command. > C-< ;; for Undo > C-> ;; for Redo These are hard to type, since they require Shift. And they do not exist on terminals. -- Dr Richard Stallman President, Free Software Foundation (https://gnu.org, https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Emacs undo behavior frustrating for new users. (WAS: delete-selection-mode as default) 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-17 12:00 ` Garreau, Alexandre 0 siblings, 2 replies; 40+ messages in thread From: Nathan Moreau @ 2018-10-17 10:09 UTC (permalink / raw) To: rms; +Cc: Van L, emacs-devel [-- Attachment #1: Type: text/plain, Size: 955 bytes --] From my experience with undo-tree, C-S-/ is a good binding. It is easy to reach right after hitting undo (C-/). Direct access is a little bit hard but you don't tend to press it directly that often. Nathan On Tue, 16 Oct 2018, 08:45 Richard Stallman, <rms@gnu.org> wrote: > [[[ To any NSA and FBI agents reading my email: please consider ]]] > [[[ whether defending the US Constitution against all enemies, ]]] > [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > > > I have nothing in principle against switching to an Undo/Redo system. > > > But there is an obstacle: finding a key for the Redo command. > > > C-< ;; for Undo > > C-> ;; for Redo > > These are hard to type, since they require Shift. > And they do not exist on terminals. > > > > -- > Dr Richard Stallman > President, Free Software Foundation (https://gnu.org, https://fsf.org) > Internet Hall-of-Famer (https://internethalloffame.org) > > > > [-- Attachment #2: Type: text/html, Size: 1721 bytes --] ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Emacs undo behavior frustrating for new users. 2018-10-17 10:09 ` Nathan Moreau @ 2018-10-17 10:38 ` Andreas Schwab 2018-10-18 7:23 ` Richard Stallman 2018-10-17 12:00 ` Garreau, Alexandre 1 sibling, 1 reply; 40+ messages in thread From: Andreas Schwab @ 2018-10-17 10:38 UTC (permalink / raw) To: Nathan Moreau; +Cc: Van L, rms, emacs-devel On Okt 17 2018, Nathan Moreau <nathan.moreau@m4x.org> wrote: > From my experience with undo-tree, C-S-/ is a good binding. That's impossible to type. Andreas. -- Andreas Schwab, SUSE Labs, schwab@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different." ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Emacs undo behavior frustrating for new users. 2018-10-17 10:38 ` Emacs undo behavior frustrating for new users Andreas Schwab @ 2018-10-18 7:23 ` Richard Stallman 0 siblings, 0 replies; 40+ messages in thread From: Richard Stallman @ 2018-10-18 7:23 UTC (permalink / raw) To: Andreas Schwab; +Cc: van, nathan.moreau, emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > From my experience with undo-tree, C-S-/ is a good binding. > That's impossible to type. On a text console, it is literally impossible. -- Dr Richard Stallman President, Free Software Foundation (https://gnu.org, https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Emacs undo behavior frustrating for new users. 2018-10-17 10:09 ` Nathan Moreau 2018-10-17 10:38 ` Emacs undo behavior frustrating for new users Andreas Schwab @ 2018-10-17 12:00 ` Garreau, Alexandre 2018-10-17 14:05 ` Nathan Moreau 2018-10-17 14:33 ` Yuri Khan 1 sibling, 2 replies; 40+ messages in thread From: Garreau, Alexandre @ 2018-10-17 12:00 UTC (permalink / raw) To: Nathan Moreau; +Cc: Van L, rms, emacs-devel On 2018-10-17 at 12:09, Nathan Moreau wrote: > From my experience with undo-tree, C-S-/ is a good binding. > It is easy to reach right after hitting undo (C-/). Direct access is a > little bit hard but you don't tend to press it directly that often. Are you really meaning shift when saying S- (or maybe super? which is usually not accessible to emacs unless you use it as a window manager through exwm)? Then what is your keyboard layout? In qwerty and dvorak: S-/ is ?, so C-S-/ is C-?, which is impossible to type (it gives ? usually), while corresponding to DEL under a terminal. In azerty: / is already accessed with shift. In bépo: S-/ is 9, so C-S-/ is C-9 and is already bound to `digit-argument' ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Emacs undo behavior frustrating for new users. 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 1 sibling, 1 reply; 40+ messages in thread From: Nathan Moreau @ 2018-10-17 14:05 UTC (permalink / raw) To: Garreau, Alexandre; +Cc: Van L, rms, emacs-devel [-- Attachment #1: Type: text/plain, Size: 891 bytes --] I mean C-?, which in qwerty is control-shift-/. On Wed, 17 Oct 2018, 14:00 Garreau, Alexandre, <galex-713@galex-713.eu> wrote: > On 2018-10-17 at 12:09, Nathan Moreau wrote: > > From my experience with undo-tree, C-S-/ is a good binding. > > It is easy to reach right after hitting undo (C-/). Direct access is a > > little bit hard but you don't tend to press it directly that often. > > Are you really meaning shift when saying S- (or maybe super? which is > usually not accessible to emacs unless you use it as a window manager > through exwm)? Then what is your keyboard layout? > > In qwerty and dvorak: S-/ is ?, so C-S-/ is C-?, which is impossible to > type (it gives ? usually), while corresponding to DEL under a terminal. > > In azerty: / is already accessed with shift. > > In bépo: S-/ is 9, so C-S-/ is C-9 and is already bound to > `digit-argument' > [-- Attachment #2: Type: text/html, Size: 1181 bytes --] ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Emacs undo behavior frustrating for new users. 2018-10-17 14:05 ` Nathan Moreau @ 2018-10-17 14:20 ` Garreau, Alexandre 0 siblings, 0 replies; 40+ messages in thread From: Garreau, Alexandre @ 2018-10-17 14:20 UTC (permalink / raw) To: Nathan Moreau; +Cc: Van L, rms, emacs-devel Le 17/10/2018 à 16h05, Nathan Moreau a écrit : > I mean C-?, which in qwerty is control-shift-/. For some reason I ignore, it appears to be sometimes not possible to type in GUI (though I barely understand why it’s even possible to type at all), and it is systematically impossible to type in terminal. Look: Both (kbd "DEL") and "\C-?" display as "^?" (if it pass our mail softwares: "\x7f"), and contain only ?\C-? (127), which is usually backspace (or is it sometimes different, as (kbd "<backspace>") returns [backspace], which seems different?). I believe this is an historic oddity of old terminal and/or keyboard, related to how they implemented stuff. ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Emacs undo behavior frustrating for new users. 2018-10-17 12:00 ` Garreau, Alexandre 2018-10-17 14:05 ` Nathan Moreau @ 2018-10-17 14:33 ` Yuri Khan 2018-10-17 16:06 ` Eli Zaretskii 2018-10-18 7:23 ` Richard Stallman 1 sibling, 2 replies; 40+ messages in thread From: Yuri Khan @ 2018-10-17 14:33 UTC (permalink / raw) To: galex-713; +Cc: van, nathan.moreau, rms, Emacs developers On Wed, Oct 17, 2018 at 7:01 PM Garreau, Alexandre <galex-713@galex-713.eu> wrote: > In qwerty and dvorak: S-/ is ?, so C-S-/ is C-?, which is impossible to > type (it gives ? usually), while corresponding to DEL under a terminal. In the age of hardware terminals, it might have been reasonable that the Control key only lets you enter the 33 control characters. These days? Control and Alt are just modifier keys that can be pressed with every other key, whether alphabetic, numeric, or functional. Today’s terminal emulators should learn to pass these to applications faithfully. Somebody has even invented an encoding scheme to be able to represent keys with modifiers: https://sw.kovidgoyal.net/kitty/protocol-extensions.html#keyboard-handling ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Emacs undo behavior frustrating for new users. 2018-10-17 14:33 ` Yuri Khan @ 2018-10-17 16:06 ` Eli Zaretskii 2018-10-18 7:23 ` Richard Stallman 1 sibling, 0 replies; 40+ messages in thread From: Eli Zaretskii @ 2018-10-17 16:06 UTC (permalink / raw) To: Yuri Khan; +Cc: van, nathan.moreau, rms, galex-713, emacs-devel > From: Yuri Khan <yurivkhan@gmail.com> > Date: Wed, 17 Oct 2018 21:33:49 +0700 > Cc: van@scratch.space, nathan.moreau@m4x.org, rms@gnu.org, > Emacs developers <emacs-devel@gnu.org> > > These days? Control and Alt are just modifier keys that can be pressed > with every other key, whether alphabetic, numeric, or functional. But the results are non-portable when used with keys that produce non-ASCII characters, so these combinations are better avoided. ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Emacs undo behavior frustrating for new users. 2018-10-17 14:33 ` Yuri Khan 2018-10-17 16:06 ` Eli Zaretskii @ 2018-10-18 7:23 ` Richard Stallman 1 sibling, 0 replies; 40+ messages in thread From: Richard Stallman @ 2018-10-18 7:23 UTC (permalink / raw) To: Yuri Khan; +Cc: van, nathan.moreau, galex-713, emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > Today’s terminal emulators should learn to pass these to applications > faithfully. I agree that would be a step forward. The one I use is, I think, part of Linux. -- Dr Richard Stallman President, Free Software Foundation (https://gnu.org, https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Emacs undo behavior frustrating for new users. (WAS: delete-selection-mode as default) 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-15 8:26 ` Yuri Khan 2018-10-16 6:44 ` Richard Stallman 1 sibling, 1 reply; 40+ messages in thread From: Yuri Khan @ 2018-10-15 8:26 UTC (permalink / raw) To: rms; +Cc: Karl Fogel, noeltaylo, right.ho, Emacs developers On Mon, Oct 15, 2018 at 12:44 PM Richard Stallman <rms@gnu.org> wrote: > I have nothing in principle against switching to an Undo/Redo system. > But there is an obstacle: finding a key for the Redo command. Simple: C-z for Undo, C-S-z and possibly C-y for Redo, in cua-mode, on the grounds that these are the most common bindings for this functionality in pretty much all other software. (C-y will conflict with yank but cua-mode binds C-v to cua-paste which is a close analog.) For text terminal non-cua users, maybe negative universal argument to the undo command? ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Emacs undo behavior frustrating for new users. (WAS: delete-selection-mode as default) 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-20 8:15 ` Marcin Borkowski 0 siblings, 2 replies; 40+ messages in thread From: Richard Stallman @ 2018-10-16 6:44 UTC (permalink / raw) To: Yuri Khan; +Cc: kfogel, noeltaylo, right.ho, emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > Simple: C-z for Undo, C-S-z and possibly C-y for Redo, in cua-mode, C-z is an important Emacs command. To change it would hurt anyone. CUA mode is not the main interface for Emacs. To add this feature we need to have it work with the usual command set. -- Dr Richard Stallman President, Free Software Foundation (https://gnu.org, https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Emacs undo behavior frustrating for new users. (WAS: delete-selection-mode as default) 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 1 sibling, 1 reply; 40+ messages in thread From: Yuri Khan @ 2018-10-16 7:22 UTC (permalink / raw) To: rms; +Cc: Karl Fogel, noeltaylo, right.ho, Emacs developers On Tue, Oct 16, 2018 at 1:44 PM Richard Stallman <rms@gnu.org> wrote: > > Simple: C-z for Undo, C-S-z and possibly C-y for Redo, in cua-mode, > > C-z is an important Emacs command. To change it would hurt anyone. > > CUA mode is not the main interface for Emacs. To add this feature > we need to have it work with the usual command set. The target audience for a linear undo/redo system is likely to use cua-mode, and also likely to not need suspend-frame (because they work in a GUI Emacs and already have a window manager key binding to minimize the GUI window). ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Emacs undo behavior frustrating for new users. (WAS: delete-selection-mode as default) 2018-10-16 7:22 ` Yuri Khan @ 2018-10-17 7:05 ` Richard Stallman 0 siblings, 0 replies; 40+ messages in thread From: Richard Stallman @ 2018-10-17 7:05 UTC (permalink / raw) To: Yuri Khan; +Cc: kfogel, noeltaylo, right.ho, emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > The target audience for a linear undo/redo system is likely to use > cua-mode, I don't think so. It might be good for everyone, if the keys are convenient to type. -- Dr Richard Stallman President, Free Software Foundation (https://gnu.org, https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Emacs undo behavior frustrating for new users. (WAS: delete-selection-mode as default) 2018-10-16 6:44 ` Richard Stallman 2018-10-16 7:22 ` Yuri Khan @ 2018-10-20 8:15 ` Marcin Borkowski 2018-10-20 18:33 ` Elias Mårtenson 1 sibling, 1 reply; 40+ messages in thread From: Marcin Borkowski @ 2018-10-20 8:15 UTC (permalink / raw) To: rms; +Cc: kfogel, Yuri Khan, noeltaylo, right.ho, emacs-devel On 2018-10-16, at 08:44, Richard Stallman <rms@gnu.org> wrote: > [[[ To any NSA and FBI agents reading my email: please consider ]]] > [[[ whether defending the US Constitution against all enemies, ]]] > [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > > Simple: C-z for Undo, C-S-z and possibly C-y for Redo, in cua-mode, > > C-z is an important Emacs command. To change it would hurt anyone. FWIW, I find the default binding of C-z totally useless and a waste of a good keybinding. I rebound it as a prefix key for my keymap containing lots of useful commands. So not anyone (though this change would hurt _me_, but for other reasons). Just one data point. Best, -- Marcin Borkowski http://mbork.pl ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Emacs undo behavior frustrating for new users. (WAS: delete-selection-mode as default) 2018-10-20 8:15 ` Marcin Borkowski @ 2018-10-20 18:33 ` Elias Mårtenson 0 siblings, 0 replies; 40+ messages in thread From: Elias Mårtenson @ 2018-10-20 18:33 UTC (permalink / raw) To: Marcin Borkowski Cc: noeltaylo, Richard Stallman, right.ho, emacs-devel, kfogel, Yuri Khan [-- Attachment #1: Type: text/plain, Size: 520 bytes --] On Sat, 20 Oct 2018, 16:17 Marcin Borkowski, <mbork@mbork.pl> wrote: > > FWIW, I find the default binding of C-z totally useless and a waste of > a good keybinding. I rebound it as a prefix key for my keymap > containing lots of useful commands. > Also FWIW, I also find the default not only useless, but annoying. I have rebound it to scrolling down by one line (and M-z for scrolling down). Those mappings come from the gosmacs bindings that used to be part of GNU Emacs until they were removed. Regards, Elias > [-- Attachment #2: Type: text/html, Size: 1062 bytes --] ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Emacs undo behavior frustrating for new users. (WAS: delete-selection-mode as default) 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 5:43 ` Emacs undo behavior frustrating for new users. (WAS: delete-selection-mode as default) Richard Stallman @ 2018-10-15 7:54 ` Joost Kremers 2018-10-15 9:27 ` Joost Kremers 2018-10-15 12:01 ` Emacs undo behavior frustrating for new users Óscar Fuentes 2 siblings, 2 replies; 40+ messages in thread From: Joost Kremers @ 2018-10-15 7:54 UTC (permalink / raw) To: Karl Fogel; +Cc: Noel Taylor, Richard Stallman, Bingo, emacs-devel 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 ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Emacs undo behavior frustrating for new users. (WAS: delete-selection-mode as default) 2018-10-15 7:54 ` Joost Kremers @ 2018-10-15 9:27 ` Joost Kremers 2018-10-15 12:01 ` Emacs undo behavior frustrating for new users Óscar Fuentes 1 sibling, 0 replies; 40+ messages in thread From: Joost Kremers @ 2018-10-15 9:27 UTC (permalink / raw) To: Karl Fogel; +Cc: Noel Taylor, Richard Stallman, Bingo, emacs-devel On Mon, Oct 15 2018, Joost Kremers wrote: > 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 __________________________________________________such states^ > 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 -- Joost Kremers Life has its moments ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Emacs undo behavior frustrating for new users. 2018-10-15 7:54 ` Joost Kremers 2018-10-15 9:27 ` Joost Kremers @ 2018-10-15 12:01 ` Óscar Fuentes 2018-10-15 13:28 ` Joost Kremers 1 sibling, 1 reply; 40+ messages in thread From: Óscar Fuentes @ 2018-10-15 12:01 UTC (permalink / raw) To: emacs-devel Joost Kremers <joostkremers@fastmail.fm> writes: [snip] > the form of the `undo-tree' package: > > <https://elpa.gnu.org/packages/undo-tree.html> [snip] > IMvHO `undo-tree' should simply be made the default undo in Emacs. In my experience, undo-tree is one of those packages that looks impressive when you discover it but finally it is seldom used. OTOH, some of us experienced catastrophic failures while using undo-tree consisting on the disappearance of all undo information. ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Emacs undo behavior frustrating for new users. 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 0 siblings, 1 reply; 40+ messages in thread From: Joost Kremers @ 2018-10-15 13:28 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel On Mon, Oct 15 2018, Óscar Fuentes wrote: > Joost Kremers <joostkremers@fastmail.fm> writes: > > [snip] >> the form of the `undo-tree' package: >> >> <https://elpa.gnu.org/packages/undo-tree.html> > > [snip] > >> IMvHO `undo-tree' should simply be made the default undo in >> Emacs. > > In my experience, undo-tree is one of those packages that looks > impressive when you discover it but finally it is seldom used. Hmm, it's my default undo system and I wouldn't say I use it only rarely. I use the tree visualiser at least a couple of times a week. Honestly, though, I believe any imaginable undo/redo system that keeps *all* past states of the buffer accessible would basically be a variation of undo-tree. And from a user POV, undo-tree is quite straightforward and easy-to-use, IMHO. It certainly has some bells and whistles that look impressive but may not be very useful in practice, but that doesn't change its basic usefulness. Grafting a redo on Emacs' current undo system may be possible as well, I can't say, but I can't really imagine what such a system would look like. That may just be my lack of imagination, of course. > OTOH, some of us experienced catastrophic failures while using > undo-tree > consisting on the disappearance of all undo information. That's not good, obviously. I never experienced anything like that. -- Joost Kremers Life has its moments ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Emacs undo behavior frustrating for new users. 2018-10-15 13:28 ` Joost Kremers @ 2018-10-16 12:27 ` Stefan Monnier 2018-10-17 7:05 ` Richard Stallman 0 siblings, 1 reply; 40+ messages in thread From: Stefan Monnier @ 2018-10-16 12:27 UTC (permalink / raw) To: emacs-devel > Grafting a redo on Emacs' current undo system may be possible as well, > I can't say, but I can't really imagine what such a system would look > like. That may just be my lack of imagination, of course. AFAIK Emacs's undo info includes all the data needed for undo-tree, so undo-tree could work on top of Emacs's normal undo system. Whether it's worth the effort to do that is another question. Stefan ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Emacs undo behavior frustrating for new users. 2018-10-16 12:27 ` Stefan Monnier @ 2018-10-17 7:05 ` Richard Stallman 0 siblings, 0 replies; 40+ messages in thread From: Richard Stallman @ 2018-10-17 7:05 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > AFAIK Emacs's undo info includes all the data needed for undo-tree, so > undo-tree could work on top of Emacs's normal undo system. Would someone like to implement this? -- Dr Richard Stallman President, Free Software Foundation (https://gnu.org, https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 40+ messages in thread
end of thread, other threads:[~2018-10-20 18:33 UTC | newest] Thread overview: 40+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 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 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
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.