* 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ 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; 78+ 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] 78+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) @ 2018-09-08 3:46 Bingo 0 siblings, 0 replies; 78+ messages in thread From: Bingo @ 2018-09-08 3:46 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] 78+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) @ 2018-09-07 0:32 Noam Postavsky 2018-09-07 0:35 ` Drew Adams ` (2 more replies) 0 siblings, 3 replies; 78+ messages in thread From: Noam Postavsky @ 2018-09-07 0:32 UTC (permalink / raw) To: Drew Adams; +Cc: hw, Eli Zaretskii, Phillip Lord, spacibba, Emacs developers >> > > > we should turn on `delete-selection-mode' by default. >> > > >> > > I don't think we can, because it gets in the way when editing code. >> > >> > How so? It doesn't get in my way. Quite the contrary - I appreciate >> > it for editing code. Please give a recipe >> >> Type "C-x C-x", then some letter: puff! the whole region is gone. >> This could be okay in text modes, but in code buffers users generally >> don't replace regions with single letters. I don't understand why a user who is okay with replacing the region with a single letter in text mode, would all of sudden dislike the idea in a code buffer. Or, conversely, why a user who dislikes replacing the region with a single letter in code buffers, would suddenly be happly about it in a text buffer. > It's equivalent to your doing this without `delete-selection-mode': > C-x C-x M-w, then some letter I guess you meant C-w there. > I see zero difference between editing code and editing plain prose, > in this regard. In both cases the selection can be replaced by typing, As mentioned above, I agree with this. > and that's a plus, not a minus. Maybe. My feeling from using non-Emacs editors (gasp!), is that the main use of this sort of thing is rather for replacing the selection by pasting, not so about much typing. Or, for when some feature inserts some default text, it highlights that text, indicating to the user that they may replace it by typing (i.e., it's rare that a user-created selection is deleted by typing). ^ permalink raw reply [flat|nested] 78+ messages in thread
* RE: delete-selection-mode as default (WAS: Some developement questions) 2018-09-07 0:32 Noam Postavsky @ 2018-09-07 0:35 ` Drew Adams 2018-09-07 6:47 ` Eli Zaretskii 2018-09-08 5:13 ` Richard Stallman 2 siblings, 0 replies; 78+ messages in thread From: Drew Adams @ 2018-09-07 0:35 UTC (permalink / raw) To: Noam Postavsky Cc: hw, Eli Zaretskii, Phillip Lord, spacibba, Emacs developers > > It's equivalent to your doing this without `delete-selection-mode': > > C-x C-x M-w, then some letter > > I guess you meant C-w there. Yes, sorry; my bad. > > I see zero difference between editing code and editing plain prose, > > in this regard. In both cases the selection can be replaced by typing, > > As mentioned above, I agree with this. > > > and that's a plus, not a minus. > > Maybe. My feeling from using non-Emacs editors (gasp!), is that the > main use of this sort of thing is rather for replacing the selection > by pasting, not so about much typing. Or, for when some feature > inserts some default text, it highlights that text, indicating to the > user that they may replace it by typing (i.e., it's rare that a > user-created selection is deleted by typing). Yes, those are useful use cases. But so is typing to replace, I think. ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-07 0:32 Noam Postavsky 2018-09-07 0:35 ` Drew Adams @ 2018-09-07 6:47 ` Eli Zaretskii 2018-09-07 9:40 ` Phil Sainty ` (3 more replies) 2018-09-08 5:13 ` Richard Stallman 2 siblings, 4 replies; 78+ messages in thread From: Eli Zaretskii @ 2018-09-07 6:47 UTC (permalink / raw) To: Noam Postavsky; +Cc: hw, spacibba, phillip.lord, drew.adams, emacs-devel > From: Noam Postavsky <npostavs@gmail.com> > Date: Thu, 6 Sep 2018 20:32:54 -0400 > Cc: Eli Zaretskii <eliz@gnu.org>, hw <hw@adminart.net>, spacibba@aol.com, > Emacs developers <emacs-devel@gnu.org>, Phillip Lord <phillip.lord@russet.org.uk> > > >> Type "C-x C-x", then some letter: puff! the whole region is gone. > >> This could be okay in text modes, but in code buffers users generally > >> don't replace regions with single letters. > > I don't understand why a user who is okay with replacing the region > with a single letter in text mode, would all of sudden dislike the > idea in a code buffer. Because in text editing, it is a frequent use case that you want to replace a region of text with some other long text; and also I find myself in the need of doing "C-x C-x" much less frequently when I'm editing text. By contrast, in coding, most changes are of a much smaller size, and "C-x C-x" is a very frequent command, due to the need to look at other portions of the code. > Maybe. My feeling from using non-Emacs editors (gasp!), is that the > main use of this sort of thing is rather for replacing the selection > by pasting, not so about much typing. Or, for when some feature > inserts some default text, it highlights that text, indicating to the > user that they may replace it by typing (i.e., it's rare that a > user-created selection is deleted by typing). It is exactly these features that get in the way when I write code. It means I must click the mouse or do some cursor motion or C-g after yanking, otherwise typing something will nuke the text just yanked. Feel free to start a user poll, though: if it turns out I'm the only one who thinks delete-selection-mode is inappropriate in programming modes, we can make it the default; I can easily turn it off in my configuration. Though I would urge people to actually try this in programming modes before responding, and in any case the poll should request to provide the major modes used with the responses. ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-07 6:47 ` Eli Zaretskii @ 2018-09-07 9:40 ` Phil Sainty 2018-09-07 13:41 ` Eli Zaretskii 2018-09-07 15:35 ` Drew Adams 2018-09-07 19:01 ` tomas ` (2 subsequent siblings) 3 siblings, 2 replies; 78+ messages in thread From: Phil Sainty @ 2018-09-07 9:40 UTC (permalink / raw) To: Eli Zaretskii Cc: hw, spacibba, Noam Postavsky, emacs-devel, drew.adams, phillip.lord *Personally* I dislike `delete-selection-mode'; but FWIW I also don't have a big issue with disabling it in my init file -- at the end of the day it's an easy change to make to get back to the behaviour I prefer. I can't imagine that many users who use the current default behaviour would continue to use the default if the default were *changed*; so either way a sub-set of users will always be forced to set `delete-selection-mode' in their init files -- which means it's a question of whether we're more interested in minimising friction for existing users who still prefer the current default, or for new users who are probably used to the behaviour of other text-editors. I think what I'd be most in favour of would be a new link on the splash screen which invited users to customize some of the most fundamental aspects in which the default Emacs behaviours conflict with the typical behaviour of newer applications with which the user may be more familiar. I think this would be one of those options. CUA mode would be another. This set of options could be added to over time (as and when new user options were added to provide compatibility with the way that other editors and applications work), such that new Emacs users can always have a smoother introduction offered to them, without interfering with the upgrade experience of existing users. Such a feature would be like an improved/interactive alternative to the "Migrating to Emacs" section of the "Emacs Guided Tour" web page. Of course that entails someone spending their time implementing a feature which doesn't benefit them in any way -- because *they* already know how to set all the options in question. User options can belong to multiple groups though, can't they? Perhaps an initial implementation is as simple as identifying such options, adding them to a common group, and linking to that group from the splash screen? On 2018-09-07 18:47, Eli Zaretskii wrote: > Feel free to start a user poll, though: if it turns out I'm the > only one who thinks delete-selection-mode is inappropriate in > programming modes, we can make it the default; I can easily > turn it off in my configuration. Though I would urge people to > actually try this in programming modes before responding, and > in any case the poll should request to provide the major modes > used with the responses. I am quite surprised by the notion that there are users who are using `delete-selection-mode' in some modes and not others?! My instinct is that that would be extremely confusing, so I wouldn't be in favour of any default behaviour where the mode was sometimes on and sometimes off. I think the default should be consistent one way or the other. -Phil ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-07 9:40 ` Phil Sainty @ 2018-09-07 13:41 ` Eli Zaretskii 2018-09-08 11:37 ` Phil Sainty 2018-09-07 15:35 ` Drew Adams 1 sibling, 1 reply; 78+ messages in thread From: Eli Zaretskii @ 2018-09-07 13:41 UTC (permalink / raw) To: Phil Sainty; +Cc: hw, spacibba, npostavs, emacs-devel, drew.adams, phillip.lord > Date: Fri, 07 Sep 2018 21:40:26 +1200 > From: Phil Sainty <psainty@orcon.net.nz> > Cc: Noam Postavsky <npostavs@gmail.com>, hw@adminart.net, spacibba@aol.com, > phillip.lord@russet.org.uk, drew.adams@oracle.com, emacs-devel@gnu.org > > I think what I'd be most in favour of would be a new link on the > splash screen which invited users to customize some of the most > fundamental aspects in which the default Emacs behaviours > conflict with the typical behaviour of newer applications with > which the user may be more familiar. I think this would be one > of those options. CUA mode would be another. Patches to that effect are welcome. > User options can belong to multiple groups though, can't they? > Perhaps an initial implementation is as simple as identifying > such options, adding them to a common group, and linking to that > group from the splash screen? I suggested that in a recent thread, so I'm in favor of identifying these groups. Thanks. ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-07 13:41 ` Eli Zaretskii @ 2018-09-08 11:37 ` Phil Sainty 2018-09-08 14:04 ` Eli Zaretskii 0 siblings, 1 reply; 78+ messages in thread From: Phil Sainty @ 2018-09-08 11:37 UTC (permalink / raw) To: Eli Zaretskii Cc: hw, spacibba, npostavs, emacs-devel, drew.adams, phillip.lord On 08/09/18 01:41, Eli Zaretskii wrote: >> User options can belong to multiple groups though, can't they? >> Perhaps an initial implementation is as simple as identifying >> such options, adding them to a common group, and linking to that >> group from the splash screen? > > I suggested that in a recent thread, so I'm in favor of identifying > these groups. Oh, very good. I didn't remember it, but perhaps I read that. Were there other particular user options which were mentioned when you first raised this idea? (Do you remember which thread that was?) I feel like this should become a bug report, for tracking purposes. -Phil ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-08 11:37 ` Phil Sainty @ 2018-09-08 14:04 ` Eli Zaretskii 0 siblings, 0 replies; 78+ messages in thread From: Eli Zaretskii @ 2018-09-08 14:04 UTC (permalink / raw) To: Phil Sainty; +Cc: hw, spacibba, npostavs, emacs-devel, drew.adams, phillip.lord > Cc: npostavs@gmail.com, hw@adminart.net, spacibba@aol.com, > phillip.lord@russet.org.uk, drew.adams@oracle.com, emacs-devel@gnu.org > From: Phil Sainty <psainty@orcon.net.nz> > Date: Sat, 8 Sep 2018 23:37:41 +1200 > > On 08/09/18 01:41, Eli Zaretskii wrote: > >> User options can belong to multiple groups though, can't they? > >> Perhaps an initial implementation is as simple as identifying > >> such options, adding them to a common group, and linking to that > >> group from the splash screen? > > > > I suggested that in a recent thread, so I'm in favor of identifying > > these groups. > > Oh, very good. I didn't remember it, but perhaps I read that. > > Were there other particular user options which were mentioned when > you first raised this idea? The idea I described was to do it the other way around: first identify the groups of users, and then come up with the list of options pertinent for each group. > (Do you remember which thread that was?) My message was here: http://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00794.html ^ permalink raw reply [flat|nested] 78+ messages in thread
* RE: delete-selection-mode as default (WAS: Some developement questions) 2018-09-07 9:40 ` Phil Sainty 2018-09-07 13:41 ` Eli Zaretskii @ 2018-09-07 15:35 ` Drew Adams 2018-09-07 16:16 ` Yuri Khan 1 sibling, 1 reply; 78+ messages in thread From: Drew Adams @ 2018-09-07 15:35 UTC (permalink / raw) To: Phil Sainty, Eli Zaretskii Cc: hw, spacibba, emacs-devel, Noam Postavsky, phillip.lord > *Personally* I dislike `delete-selection-mode'; but FWIW I also > don't have a big issue with disabling it in my init file -- at > the end of the day it's an easy change to make to get back to > the behaviour I prefer. > > I can't imagine that many users who use the current default > behaviour would continue to use the default if the default were > *changed*; so either way a sub-set of users will always be forced > to set `delete-selection-mode' in their init files -- which means > it's a question of whether we're more interested in minimising > friction for existing users who still prefer the current default, > or for new users who are probably used to the behaviour of other > text-editors. Exactly the same reasoning was presented in arguments against turning on `transient-mark-mode' by default. That change took decades. I expect that turning on `delete-selection-mode' by default (in effect, the other half of the same general change) will also take decades. I'm convinced it will happen, but perhaps after some of us are long gone. ;-) ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-07 15:35 ` Drew Adams @ 2018-09-07 16:16 ` Yuri Khan 0 siblings, 0 replies; 78+ messages in thread From: Yuri Khan @ 2018-09-07 16:16 UTC (permalink / raw) To: Drew Adams Cc: hw, spacibba, Phil Sainty, Noam Postavsky, Emacs developers, Eli Zaretskii, Phillip Lord On Fri, Sep 7, 2018 at 10:37 PM Drew Adams <drew.adams@oracle.com> wrote: > Exactly the same reasoning was presented in arguments against > turning on `transient-mark-mode' by default. My experience with other editors says the following three features are closely related. (The terminology varies from editor to editor, of course.) 1a) Region selection is persistent. You can mark a region, then move point outside of it and it stays highlighted and active. 1b) Region selection is transient. As soon as you move point in a way other than extending selection, it is deactivated. 2a) Newly entered text is inserted at point without affecting the selected region, whether or not it is active. Backspace and Delete keys affect the characters before and after point. 2b) Newly entered text replaces the selected region. Backspace and Delete keys delete the selected region. 3a) You select a region by pressing a key (or key combination or sequence), at one end, then moving point to the other end and pressing another key there. 3b) You select a region by moving point with Shift held down. Many “classic” editors had [1a, 2a, 3a]. Most “modern” editors have [1b, 2b, 3b]. These two combinations are consistent and useful. Mixing and matching may feel weird and/or invite mistakes. E.g., mixing 1a with 2b, you can have a persistent region, then move point so that you no longer see the region, so you effectively forget you have an active region. Then, typing new text and having it replace the region is surprising, in a bad way. ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-07 6:47 ` Eli Zaretskii 2018-09-07 9:40 ` Phil Sainty @ 2018-09-07 19:01 ` tomas 2018-09-07 19:23 ` Drew Adams 2018-09-07 20:33 ` Noam Postavsky 2018-09-09 13:45 ` Alan Mackenzie 2018-09-09 20:39 ` Joost Kremers 3 siblings, 2 replies; 78+ messages in thread From: tomas @ 2018-09-07 19:01 UTC (permalink / raw) To: emacs-devel -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Fri, Sep 07, 2018 at 09:47:52AM +0300, Eli Zaretskii wrote: [...] > Feel free to start a user poll, though: if it turns out I'm the only > one who thinks delete-selection-mode is inappropriate in programming > modes [...] This is from a seat far back in the peanut gallery, but no, Eli, you aren't the only one :-) I know this "delete selection on typing" behaviour, and I dislike it with passion. Typical case of "two cultures", I guess. Cheers - -- tomás -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iEYEARECAAYFAluSyw8ACgkQBcgs9XrR2kYM/QCdGIOa/kwS1QS3eXcsTOBa88B0 TaMAnRfUuD1fveUU2Ng7ZLEoFBxoaSk3 =hoZm -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 78+ messages in thread
* RE: delete-selection-mode as default (WAS: Some developement questions) 2018-09-07 19:01 ` tomas @ 2018-09-07 19:23 ` Drew Adams 2018-09-07 20:28 ` tomas 2018-09-07 20:33 ` Noam Postavsky 1 sibling, 1 reply; 78+ messages in thread From: Drew Adams @ 2018-09-07 19:23 UTC (permalink / raw) To: tomas, emacs-devel > Typical case of "two cultures", I guess. Really? What two cultures are those? Different default values of `delete-selection-mode'? Or are you trying to suggest some wider difference that is indicated/reflected by that difference? IMHO, this is only about that specific difference. I doubt that you will find meaningful alignment/correlation between views on that question and other views, including other views about editing or Emacs. I wouldn't advise generalizing this to include pro/con mouse, menus, key bindings, GUI, visual lines, fonts, OS,... ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-07 19:23 ` Drew Adams @ 2018-09-07 20:28 ` tomas 0 siblings, 0 replies; 78+ messages in thread From: tomas @ 2018-09-07 20:28 UTC (permalink / raw) To: emacs-devel [-- Attachment #1: Type: text/plain, Size: 1027 bytes --] On Fri, Sep 07, 2018 at 12:23:07PM -0700, Drew Adams wrote: > > Typical case of "two cultures", I guess. > > Really? What two cultures are those? > > Different default values of `delete-selection-mode'? > Or are you trying to suggest some wider difference > that is indicated/reflected by that difference? I think you are reading too much into what I wrote, but I'm not sure. > IMHO, this is only about that specific difference. I doubt > that you will find meaningful alignment/correlation between > views on that question and other views, including other views > about editing or Emacs. I guess there's some alignment. I always feel awkward when editing in a browser, for example. It reminds me fatally of Notepad, back then. And it's not just selection handling. But hey, everyone swings differently. > I wouldn't advise generalizing this to include pro/con > mouse, menus, key bindings, GUI, visual lines, fonts, OS,... I think it's more subtle, but somehow related, yes. Cheers -- t [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-07 19:01 ` tomas 2018-09-07 19:23 ` Drew Adams @ 2018-09-07 20:33 ` Noam Postavsky 2018-09-07 21:31 ` tomas 1 sibling, 1 reply; 78+ messages in thread From: Noam Postavsky @ 2018-09-07 20:33 UTC (permalink / raw) To: tomas; +Cc: Emacs developers On 7 September 2018 at 15:01, <tomas@tuxteam.de> wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On Fri, Sep 07, 2018 at 09:47:52AM +0300, Eli Zaretskii wrote: > > [...] > >> Feel free to start a user poll, though: if it turns out I'm the only >> one who thinks delete-selection-mode is inappropriate in programming >> modes [...] > > This is from a seat far back in the peanut gallery, but no, Eli, you > aren't the only one :-) > > I know this "delete selection on typing" behaviour, and I dislike it > with passion. But do you think it's ok for text (non-programming) buffers? ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-07 20:33 ` Noam Postavsky @ 2018-09-07 21:31 ` tomas 0 siblings, 0 replies; 78+ messages in thread From: tomas @ 2018-09-07 21:31 UTC (permalink / raw) To: Emacs developers [-- Attachment #1: Type: text/plain, Size: 546 bytes --] On Fri, Sep 07, 2018 at 04:33:11PM -0400, Noam Postavsky wrote: > On 7 September 2018 at 15:01, <tomas@tuxteam.de> wrote: [...] > > I know this "delete selection on typing" behaviour, and I dislike it > > with passion. > > But do you think it's ok for text (non-programming) buffers? In my case (and I _know_ it's very personal, I wouldn't want to impose my taste on anyone!) no: programming and text are more or less equivalent (sometimes I try to mix both). But then, I'm also a "point-to-focus" type =:-o Cheers -- t [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-07 6:47 ` Eli Zaretskii 2018-09-07 9:40 ` Phil Sainty 2018-09-07 19:01 ` tomas @ 2018-09-09 13:45 ` Alan Mackenzie 2018-09-09 14:22 ` Clément Pit-Claudel 2018-09-09 15:12 ` Drew Adams 2018-09-09 20:39 ` Joost Kremers 3 siblings, 2 replies; 78+ messages in thread From: Alan Mackenzie @ 2018-09-09 13:45 UTC (permalink / raw) To: Eli Zaretskii Cc: hw, spacibba, Noam Postavsky, emacs-devel, drew.adams, phillip.lord Hello, Eli. On Fri, Sep 07, 2018 at 09:47:52 +0300, Eli Zaretskii wrote: > Feel free to start a user poll, though: if it turns out I'm the only > one who thinks delete-selection-mode is inappropriate in programming > modes, we can make it the default; I can easily turn it off in my > configuration. Though I would urge people to actually try this in > programming modes before responding, and in any case the poll should > request to provide the major modes used with the responses. No, you're not the only disliker of d-s-mode. I utterly detest it, to the point that Emacs's lack of this feature was one of the things which attracted me to Emacs in the first place. At last, an editing program with a rational, well thought out interface! A thing I hated about these other programs was that I could have spent a long time building up a (highlighted) region in them, only to lose it irretrievably on carelessly typing an arrow key without <shift>. As a result of things like that, I was never able to relax whilst using these programs - I had to remain hyper-alert to avoid the above sort of lossage. I appreciate that Emacs's d-s-mode doesn't suffer all these drawbacks, but it does suffer some of them. I believe delete-selection-mode is objectively bad; deleting/killing potentially large areas of text should not occur as a side effect of something whose main action is smalll (like inserting a single character). As well as being bad UI, it violates the "do one thing and do it well" principle. In the current polling exercise, I would urge those interpreting the responses to take account not merely of the numbers of supporters/detractors but the strength of feeling behind those responses. I've seen several such that strongly dislike d-s-mode, but haven't seen any saying "I utterly detest editors lacking delete-selection-mode". That suggests to me that we should not enable this mode by default. -- Alan Mackenzie (Nuremberg, Germany). ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-09 13:45 ` Alan Mackenzie @ 2018-09-09 14:22 ` Clément Pit-Claudel 2018-09-09 15:12 ` Drew Adams 1 sibling, 0 replies; 78+ messages in thread From: Clément Pit-Claudel @ 2018-09-09 14:22 UTC (permalink / raw) To: emacs-devel On 2018-09-09 09:45, Alan Mackenzie wrote: > In the current polling exercise, I would urge those interpreting the > responses to take account not merely of the numbers of > supporters/detractors but the strength of feeling behind those responses. Careful with this though. It's easy to misread a moderate response backed by strong feelings and classify it as "don't care too much". > I've seen several such that strongly dislike d-s-mode, but haven't seen > any saying "I utterly detest editors lacking delete-selection-mode". > That suggests to me that we should not enable this mode by default. Here's a different take on the same observation: people who don't like delete-selection-mode seem to care very much, so we can assume they'll make the effort to turn it off. Conversely, people who do like it seem to like it only a little, so we can't assume they'll trouble themselves to find the right setting and toggle it. Hence, it should be enabled by default :) I don't trust user polls much, FWIW. They're heavily biased, and people are not good judges of what makes them productive. ^ permalink raw reply [flat|nested] 78+ messages in thread
* RE: delete-selection-mode as default (WAS: Some developement questions) 2018-09-09 13:45 ` Alan Mackenzie 2018-09-09 14:22 ` Clément Pit-Claudel @ 2018-09-09 15:12 ` Drew Adams 1 sibling, 0 replies; 78+ messages in thread From: Drew Adams @ 2018-09-09 15:12 UTC (permalink / raw) To: Alan Mackenzie, Eli Zaretskii Cc: hw, spacibba, emacs-devel, Noam Postavsky, phillip.lord > No, you're not the only disliker of d-s-mode. I utterly detest it, to > the point that Emacs's lack of this feature was one of the things which > attracted me to Emacs in the first place. At last, an editing program > with a rational, well thought out interface! A thing I hated about these > other programs was that I could have spent a long time building up a > (highlighted) region in them, only to lose it irretrievably on carelessly > typing an arrow key without <shift>. Why "irretrievably"? What happens if you hit `C-w' by mistake? Do you lose the cut text irretrievably? > I appreciate that Emacs's d-s-mode doesn't suffer all these > drawbacks, but it does suffer some of them. > > I believe delete-selection-mode is objectively bad; deleting/killing > potentially large areas of text should not occur as a side effect of > something whose main action is smalll (like inserting a single > character). You conceive of the action in question as being just to insert a character. But if the region is active and d-s-m is on then the action is replace the region with the character. Who controls whether the action is to do one or the other? You do, by activating or not activating the region. Your choice. Nothing requires you to activate the region and then insert the char. You can insert it without activating the region first. With `transient-mark-mode' came the concept and behavior of an active region. Emacs is great by having a region that can be either inactive or active. You can still use an inactive region (as I'm sure you know and do), so perhaps "active" is a bit of a misnomer. The point of activating the region is to act on it. One way of acting on it is to replace it, and when d-s-m is on that can happen by yanking or typing replacement text. Who controls whether the region is active? You do. Who controls whether and how to act on the active region? You do. Who controls whether d-s-m is on or off? You do. If someone wants to complain about a command unnecessarily doing two things ("side effect") then s?he could start by blaming `C-x C-x'. Why does it not only swap point and mark but also activate the region? The answer, no doubt, is that someone (who introduced t-m-m and region "activation") thought that's handy behavior (saves a keystroke). Exactly the same kind of handiness comes from d-s-m performing an implicit `C-w' (for most commands, although that's configurable per command). > As well as being bad UI, it violates the "do one thing and > do it well" principle. Tell that to `C-x C-x' ;-). And to any number of other Emacs commands - maybe most! > In the current polling exercise, I would urge those interpreting the > responses to take account not merely of the numbers of > supporters/detractors but the strength of feeling behind those responses. > I've seen several such that strongly dislike d-s-mode, but haven't seen > any saying "I utterly detest editors lacking delete-selection-mode". > That suggests to me that we should not enable this mode by default. Where's the poll, BTW? I fully expect support for d-s-m to lose the vote at this point (but not in a few decades ;-)), but I support taking a poll. It should of course be a user poll, not just a poll of this mailing list. ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-07 6:47 ` Eli Zaretskii ` (2 preceding siblings ...) 2018-09-09 13:45 ` Alan Mackenzie @ 2018-09-09 20:39 ` Joost Kremers 2018-09-09 22:24 ` Drew Adams 2018-09-10 7:05 ` Eli Zaretskii 3 siblings, 2 replies; 78+ messages in thread From: Joost Kremers @ 2018-09-09 20:39 UTC (permalink / raw) To: Eli Zaretskii Cc: hw, spacibba, Noam Postavsky, emacs-devel, drew.adams, phillip.lord On Fri, Sep 07 2018, Eli Zaretskii wrote: > Feel free to start a user poll, though: if it turns out I'm the > only > one who thinks delete-selection-mode is inappropriate in > programming > modes, we can make it the default; I can easily turn it off in > my > configuration. Though I would urge people to actually try this > in > programming modes before responding, and in any case the poll > should > request to provide the major modes used with the responses. My €0.02: I'd say this thread has already shown that a poll won't be of much help here. Whether you prefer `delete-selection-mode` on or off really depends on your workflow, and de fluminibus operis non est disputandum, to paraphrase a well-known adage. So I'd suggest that any decision regarding the default value of `delete-selection-mode` should not be based on such considerations. Rather, two questions should be considered: a) "Would leaving it off scare away potential new users?" and b) "Would turning it on obscure an option that is potentially useful to at least a subset of new users?" I suspect the answer to both questions is "yes". If you're trying out a new piece of software, any behaviour that differs from what you're used to (after all, what `delete-selection-mode` does is standard behaviour in most software out there and most new users will take it for granted) is off-putting and might lead you to give up, especially if it's not immediately clear why the behaviour is different. On the other hand, if `delete-selection-mode` is on by default, most, if not all, new users will never even consider the possibility that Emacs has the option to disable it and that that might actually fit their workflow better. All in all, despite having `delete-selection-mode` on myself, I think it should be kept off by default, but with a note in the tutorial somewhere that it can be turned on. Or perhaps it could be made such that the first time a new user types a character with an active region, a message pops up saying that Emacs doesn't normally overwrite an active region, with an explanation why and a note that it can be configured to do so if desired. It would be similar to how disabled commands work (though IIUC it couldn't be implemented easily as a disabled command, so adding such a mechanism might not be trivial). -- Joost Kremers Life has its moments ^ permalink raw reply [flat|nested] 78+ messages in thread
* RE: delete-selection-mode as default (WAS: Some developement questions) 2018-09-09 20:39 ` Joost Kremers @ 2018-09-09 22:24 ` Drew Adams 2018-09-10 3:08 ` Phil Sainty ` (2 more replies) 2018-09-10 7:05 ` Eli Zaretskii 1 sibling, 3 replies; 78+ messages in thread From: Drew Adams @ 2018-09-09 22:24 UTC (permalink / raw) To: Joost Kremers, Eli Zaretskii Cc: hw, spacibba, emacs-devel, Noam Postavsky, phillip.lord I agree that a poll of this list is not a great guide (for this question and many others). > Two questions should be considered: a) "Would leaving it off scare > away potential new users?" and b) "Would turning it on obscure an > option that is potentially useful to at least a subset of new users?" I must have missed what that potentially useful option is. > On the other hand, if `delete-selection-mode` is on by default, > most, if not all, new users will never even consider the > possibility that Emacs has the option to disable it and that > that might actually fit their workflow better. This too hints at some advantage to having it off. The only argument I saw here (unless I've forgotten already) in favor of it being off (by default or not) is that when it is on a user (new or old) can too easily accidentally delete text. (Some added "irretrievably", but I haven't seen that claim supported yet.) That advantage would seem to be something that would most benefit new users, no? But the claim has been that new users are more used to the on, not the off, behavior. So again, what's the advantage to it being off? (It's not a rhetorical question.) Is there really some useful "option" that its being off offers? Does that give you additional choice or control? ^ permalink raw reply [flat|nested] 78+ messages in thread
* RE: delete-selection-mode as default (WAS: Some developement questions) 2018-09-09 22:24 ` Drew Adams @ 2018-09-10 3:08 ` Phil Sainty 2018-09-10 3:17 ` Drew Adams 2018-09-10 5:15 ` Bingo 2018-09-10 18:16 ` Alan Mackenzie 2 siblings, 1 reply; 78+ messages in thread From: Phil Sainty @ 2018-09-10 3:08 UTC (permalink / raw) To: Drew Adams Cc: hw, spacibba, Joost Kremers, Noam Postavsky, emacs-devel, Eli Zaretskii, phillip.lord On 2018-09-10 10:24, Drew Adams wrote: > The only argument I saw here (unless I've forgotten already) > in favor of it being off (by default or not) is that when it is on > a user (new or old) can too easily accidentally delete text. > > (Some added "irretrievably", but I haven't seen that claim > supported yet.) Undo isn't *necessarily* enabled in all buffers? i.e. `buffer-disable-undo'. That's not so common, but IIRC some buffers are set that way by default? -Phil ^ permalink raw reply [flat|nested] 78+ messages in thread
* RE: delete-selection-mode as default (WAS: Some developement questions) 2018-09-10 3:08 ` Phil Sainty @ 2018-09-10 3:17 ` Drew Adams 0 siblings, 0 replies; 78+ messages in thread From: Drew Adams @ 2018-09-10 3:17 UTC (permalink / raw) To: Phil Sainty Cc: hw, spacibba, Joost Kremers, Noam Postavsky, emacs-devel, Eli Zaretskii, phillip.lord > > The only argument I saw here (unless I've forgotten already) > > in favor of it being off (by default or not) is that when it is on > > a user (new or old) can too easily accidentally delete text. > > > > (Some added "irretrievably", but I haven't seen that claim > > supported yet.) > > Undo isn't *necessarily* enabled in all buffers? > i.e. `buffer-disable-undo'. > > That's not so common, but IIRC some buffers are set that way by > default? Yes, good point. The same problem will exist for accidental `C-w', but yes. Most delete-selection deletions are kills, so another retrieval possibility is `C-y'. But I'm sure there are cases where text could be lost. ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-09 22:24 ` Drew Adams 2018-09-10 3:08 ` Phil Sainty @ 2018-09-10 5:15 ` Bingo 2018-09-10 18:16 ` Alan Mackenzie 2 siblings, 0 replies; 78+ messages in thread From: Bingo @ 2018-09-10 5:15 UTC (permalink / raw) To: Drew Adams Cc: spacibba, Joost Kremers, Noam Postavsky, emacs-devel, Eli Zaretskii, phillip.lord On Sun, 9 Sep 2018 15:24:30 -0700 (PDT) Drew Adams <drew.adams@oracle.com> wrote: > So again, what's the advantage to it being off? (It's not a > rhetorical question.) Is there really some useful "option" > that its being off offers? Does that give you additional > choice or control? > Hi Drew, You might be comfortable with Emacs undo. What is your opinion on new users' comfort level with it ? The advantage with d-s-m being off is it leads to less accidental deletions, hence less need to undo. I have 8000 hours of Emacs under my belt and I can manage only evil-mode's simplified undo/redo in spite of its weakness. Emacs should not half-ass the embracing of new users. Either go the full hog - CUA, C-z undo, C-y redo (real redo), C-s save, C-a select all, shift-selection-mode, right-click context menu. Only then there is any hope for the non-manual-readers. If only d-s-m is enabled, and there is an accidental selected text deletion - user would try C-z : which would weirdly vanish their window. After frantically finding the window back, they would try C-y for redo to correct anything this C-z might have done. C-y would paste their accidentally killed selected text at a place where their cursor found itself while they were confused. thanks ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-09 22:24 ` Drew Adams 2018-09-10 3:08 ` Phil Sainty 2018-09-10 5:15 ` Bingo @ 2018-09-10 18:16 ` Alan Mackenzie 2018-09-10 18:35 ` Clément Pit-Claudel 2018-09-10 20:36 ` Drew Adams 2 siblings, 2 replies; 78+ messages in thread From: Alan Mackenzie @ 2018-09-10 18:16 UTC (permalink / raw) To: Drew Adams Cc: hw, spacibba, Joost Kremers, Noam Postavsky, emacs-devel, Eli Zaretskii, phillip.lord Hello, Drew. On Sun, Sep 09, 2018 at 15:24:30 -0700, Drew Adams wrote: > I agree that a poll of this list is not a great guide (for this question > and many others). > > Two questions should be considered: a) "Would leaving it off scare > > away potential new users?" and b) "Would turning it on obscure an > > option that is potentially useful to at least a subset of new users?" > I must have missed what that potentially useful option is. The option is having delete-selection-mode turned off, which is a useful option in itself. Actually, I'm not sure what the use of d-s-mode actually is. I don't recall anyone here advocating it on some intrinsic merits, only "because everybody else does it", which I've never found a convincing argument for anything in Emacs. > > On the other hand, if `delete-selection-mode` is on by default, > > most, if not all, new users will never even consider the > > possibility that Emacs has the option to disable it and that > > that might actually fit their workflow better. > This too hints at some advantage to having it off. > The only argument I saw here (unless I've forgotten already) > in favor of it being off (by default or not) is that when it is on > a user (new or old) can too easily accidentally delete text. > (Some added "irretrievably", but I haven't seen that claim > supported yet.) That was me, the complete phrase was "irretrievably lost" and I carefully outlined what was being lost and where. In summary, it was a carefully and painstakingly constructed region, and what was being lost by a careless movement key without <shift> was the point and mark of the highlighted region, not its contents. Furthermore it was in programs which aren't Emacs. > That advantage would seem to be something that would > most benefit new users, no? But the claim has been that > new users are more used to the on, not the off, behavior. > So again, what's the advantage to it being off? (It's not a > rhetorical question.) Is there really some useful "option" > that its being off offers? Does that give you additional > choice or control? Yes. It enables you to type onto the end of a (highlighted) region without being distracted by first having to do something to remove the highlighting, or more likely without first having to use `undo' to get your region back again, followed by unhighlighting it followed by typing the character you want to append. Personally, it scarcely affects me because I run with transient-mark-mode disabled, but I still occasionally get unwanted highlighting of regions for some reason. -- Alan Mackenzie (Nuremberg, Germany). ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-10 18:16 ` Alan Mackenzie @ 2018-09-10 18:35 ` Clément Pit-Claudel 2018-09-10 19:19 ` Alan Mackenzie 2018-09-10 20:36 ` Drew Adams 1 sibling, 1 reply; 78+ messages in thread From: Clément Pit-Claudel @ 2018-09-10 18:35 UTC (permalink / raw) To: Alan Mackenzie, Drew Adams Cc: hw, spacibba, Joost Kremers, Noam Postavsky, emacs-devel, Eli Zaretskii, phillip.lord On 2018-09-10 14:16, Alan Mackenzie wrote: > Actually, I'm not sure what the use of d-s-mode actually is. I > don't recall anyone here advocating it on some intrinsic merits I did, in a previous message :) See below: > On 2018-09-07 05:18, hw wrote: >> When a selection is active, why would anyone assume that typing an >> arbitrary letter is supposed to replace the entire selection, or >> to disable it? > > Out of experience, mostly. When almost every other program you use > besides Emacs behaves that way, it's easy to assume that Emacs will > behave the same way. > >> Allowing that to happen is simply a design flaw, or an oversight. > > I prefer to think of it as a very convenient feature. For example, > as I typed this email, I first wrote "as I composed" instead of "as I > typed", pressed Control+Shift+Left Arrow, and pressed "typed". > Similarly, I had first written "I call it" instead of "I prefer to > think of it", and the way I changed one into the other was to select > "call it" and type "prefer to think of it as". ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-10 18:35 ` Clément Pit-Claudel @ 2018-09-10 19:19 ` Alan Mackenzie 0 siblings, 0 replies; 78+ messages in thread From: Alan Mackenzie @ 2018-09-10 19:19 UTC (permalink / raw) To: Clément Pit-Claudel Cc: hw, spacibba, Joost Kremers, Noam Postavsky, emacs-devel, Eli Zaretskii, Drew Adams, phillip.lord Hello, Clément. On Mon, Sep 10, 2018 at 14:35:17 -0400, Clément Pit-Claudel wrote: > On 2018-09-10 14:16, Alan Mackenzie wrote: > > Actually, I'm not sure what the use of d-s-mode actually is. I > > don't recall anyone here advocating it on some intrinsic merits > I did, in a previous message :) See below: Acknowledged, thanks. > > On 2018-09-07 05:18, hw wrote: > >> When a selection is active, why would anyone assume that typing an > >> arbitrary letter is supposed to replace the entire selection, or > >> to disable it? > > Out of experience, mostly. When almost every other program you use > > besides Emacs behaves that way, it's easy to assume that Emacs will > > behave the same way. This is the "do it because everybody else does" bit. I don't think it's a sound design principle, particularly for Emacs. > >> Allowing that to happen is simply a design flaw, or an oversight. I agree, because .... > > I prefer to think of it as a very convenient feature. For example, > > as I typed this email, I first wrote "as I composed" instead of "as I > > typed", pressed Control+Shift+Left Arrow, and pressed "typed". > > Similarly, I had first written "I call it" instead of "I prefer to > > think of it", and the way I changed one into the other was to select > > "call it" and type "prefer to think of it as". .... the degree of inconvenience in first having to type C-w, which is predictable and goes easily to the finger memory is minimal, certainly when compared with the shock and pain of having an arbitrary sized region killed without warning. IMAO, anyway. -- Alan Mackenzie (Nuremberg, Germany). ^ permalink raw reply [flat|nested] 78+ messages in thread
* RE: delete-selection-mode as default (WAS: Some developement questions) 2018-09-10 18:16 ` Alan Mackenzie 2018-09-10 18:35 ` Clément Pit-Claudel @ 2018-09-10 20:36 ` Drew Adams 1 sibling, 0 replies; 78+ messages in thread From: Drew Adams @ 2018-09-10 20:36 UTC (permalink / raw) To: Alan Mackenzie Cc: hw, spacibba, Joost Kremers, Noam Postavsky, emacs-devel, Eli Zaretskii, phillip.lord > Actually, I'm not sure what the use of d-s-mode actually is. I don't > recall anyone here advocating it on some intrinsic merits, only "because > everybody else does it", which I've never found a convincing argument for > anything in Emacs. Minor convenience. If the region is active then typing or yanking replaces it - no need to use `C-w' first. That's all. Not a big deal either way, IMO (as Stefan has said). When the region is active you can do things to it or with it. Otherwise, there is _no reason to activate it_. If it is active, one of the things you often want to do with it is delete it or replace it. We tend to do that often, and d-s-m mode makes that easier/quicker. Nothing more. Think of overwrite mode (bound to <insert>) versus inserting and having to use `C-d' before or after each char you type. No, of course you wouldn't use `C-d' for each char, but that's the idea. The more often you had to compensate for insertion by deleting what was there beforehand, the more you might find overwrite mode handy. If you often replace selected text then not bothering to use `C-w' first can be handy. Select some text, then type or yank to replace it. > That was me, the complete phrase was "irretrievably lost" and I carefully > outlined what was being lost and where. In summary, it was a carefully > and painstakingly constructed region, and what was being lost by a > careless movement key without <shift> was the point and mark of the > highlighted region, not its contents. Furthermore it was in programs > which aren't Emacs. I see. I never use shift-selection. Dunno whether that's relevant - probably not. > It enables you to type onto the end of a (highlighted) region > without being distracted by first having to do something to remove the > highlighting, Yes. If someone doesn't want to do something to/with the active region then it shouldn't be active. `C-g' deactivates it. In a way, d-s-m or not d-s-m is a bit about C-g versus C-w. Which do you need to use more often, C-w (without d-s-m) or C-g (with d-s-m). That might be one way of looking at the choice people make. > or more likely without first having to use `undo' to get > your region back again, followed by unhighlighting it followed by typing > the character you want to append. You shouldn't be losing the region in the first place. You shouldn't need to undo or unhighlight. If you accidentally activated the region, and you want to deactivate it, C-g should take care of that. I'm guessing this comes back to the `C-x C-x' activation of the region. With that turned off, i.e., with `C-x C-x' just swapping point and mark like it did in the old days, I'm guessing you will never have an active region that bothers you - with or without d-s-m. But that's just a guess. Users should not get an active region when they don't want it, i.e., when they don't want to act on the region. And they should be able to easily get an active region when they do want to act on the region. If we're not yet supporting that well then that's where the improvement should come first, I think. The only time I get an active region when I don't want it is if I activated it thinking I was going to do something with it, and then I changed my mind (so I use C-g). I suspect that things are very different for you, and I suspect it is because of `C-x C-x' activating the region even though you have no intention of acting on it. An active region is perhaps more of a bother than an aid, for someone who never (or rarely) wants to act on it. I feel like region activation by `C-x C-x' was maybe foisted on people who never wanted or expected to do anything with an active region. If so, they've probably been silently tolerating it all these years. And yes, I can see why, if that's the case, they might dread moving to d-s-m. I think we've finally identified the real problem underlying such anxiety as being region activation by `C-x C-x'. Take that away and I think folks who don't want to use d-s-m will be fine. For folks who do want to use d-s-m, region activation by `C-x C-x' is handy. But it's not necessary. In any case, region activation has nothing inherently to do with swapping point and mark. Maybe someone who detests d-s-m could spend a few minutes with it turned on but with `C-x C-x' bound to a command that just swaps point and mark without activating the region. My guess is that if that were the default behavior it might be OK for most people. D-s-m, but without Emacs activating the region each time you use `C-x C-x'. No undesired region activation, so no unexpected d-s-m action. And of course, for someone who really wants to take advantage of d-s-m we still would offer the current, region-activating `C-x C-x' command. But we should also offer a command that just activates the region, nothing more. By default that would be unbound (or at most bound to something other than `C-x C-x'). > Personally, it scarcely affects me because I run with transient-mark-mode > disabled, There you go. That's probably the right thing to do for someone who doesn't want d-s-m behavior. But then do you have to monkey around with temporary t-m-m, or do you just not bother, ever, with having an active region? I'm guessing the latter. > but I still occasionally get unwanted highlighting of regions > for some reason. Probably from accidental temporary t-m-m, would be my guess. (That's something else I never use.) Or maybe from some other commands that activate the region? I think that if t-m-m is off then most commands (e.g. query-replace) do not try to activate the region (which is correct behavior - an active region makes sense only for t-m-m/d-s-m). In sum, having d-s-m + t-m-m both on is good for folks like me. Having them both off is maybe good for folks like you. Having t-m-m on and d-s-m off might not be the best thing. But that's the default behavior. ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-09 20:39 ` Joost Kremers 2018-09-09 22:24 ` Drew Adams @ 2018-09-10 7:05 ` Eli Zaretskii 2018-09-11 4:22 ` Richard Stallman 1 sibling, 1 reply; 78+ messages in thread From: Eli Zaretskii @ 2018-09-10 7:05 UTC (permalink / raw) To: Joost Kremers Cc: hw, spacibba, npostavs, emacs-devel, drew.adams, phillip.lord > From: Joost Kremers <joostkremers@fastmail.fm> > Cc: Noam Postavsky <npostavs@gmail.com>, hw@adminart.net, spacibba@aol.com, phillip.lord@russet.org.uk, drew.adams@oracle.com, emacs-devel@gnu.org > Date: Sun, 09 Sep 2018 22:39:54 +0200 > > what `delete-selection-mode` does is standard behaviour in most > software out there and most new users will take it for granted The _only_ problem I personally have with delete-selection-mode is that it also replaces the region created by the likes of "C-x C-x", something that "most software out there" does not and cannot do. If we were to change delete-selection-mode to replace only highlighted text created by mouse selections or by shift-selections, I think we could then enable it by default without much resistance, because typing a character or DEL after explicitly selecting text is many orders of magnitude less probable to be a mistake than when we make the region active by other means. I suspect that making the above happen would need to introduce a special kind of region, though. But if we want to present a UI and provide a UX similar to other editors, I don't see any other way. I think the conclusion from the transient-mark-mode experiment is that it is not up to the job we hoped it will do, due to conflicting requirements that cannot be reconciled by reasonably reliable heuristics. The traditional Emacs region cannot support delete-selection-mode and its traditional uses at the same time. ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-10 7:05 ` Eli Zaretskii @ 2018-09-11 4:22 ` Richard Stallman 2018-09-11 7:48 ` Eli Zaretskii 2018-09-11 8:08 ` Eli Zaretskii 0 siblings, 2 replies; 78+ messages in thread From: Richard Stallman @ 2018-09-11 4:22 UTC (permalink / raw) To: Eli Zaretskii Cc: hw, spacibba, joostkremers, npostavs, emacs-devel, drew.adams, phillip.lord [[[ 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 _only_ problem I personally have with delete-selection-mode is > that it also replaces the region created by the likes of "C-x C-x", > something that "most software out there" does not and cannot do. I agree. What I want to happen after I make a region with ordinary Emacs commands, including C-SPC M-f and C-x C-x, is this: * It is active. * It is highlighted. * DEL does not delete it. * self-insert does not delete it. However, marking a region with the mouse is a different case. If DEL and self-insert were to delete such a region, I would not object. As for shift selection, that uses keyboard commands, so I think it is natural to treat them like other keyboard commands in this regard. But I don't use shift selection, so I would be inclined to follow the preferences of users that really do use shift selection. I'd create a separate setting to control this case, then set the default based on their preferences. -- 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] 78+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-11 4:22 ` Richard Stallman @ 2018-09-11 7:48 ` Eli Zaretskii 2018-09-12 0:33 ` Richard Stallman 2018-09-11 8:08 ` Eli Zaretskii 1 sibling, 1 reply; 78+ messages in thread From: Eli Zaretskii @ 2018-09-11 7:48 UTC (permalink / raw) To: rms Cc: hw, spacibba, joostkremers, npostavs, emacs-devel, drew.adams, phillip.lord > From: Richard Stallman <rms@gnu.org> > Cc: joostkremers@fastmail.fm, hw@adminart.net, spacibba@aol.com, > npostavs@gmail.com, emacs-devel@gnu.org, > drew.adams@oracle.com, phillip.lord@russet.org.uk > Date: Tue, 11 Sep 2018 00:22:18 -0400 > > As for shift selection, that uses keyboard commands, so I think it is > natural to treat them like other keyboard commands in this regard. > But I don't use shift selection, so I would be inclined to follow the > preferences of users that really do use shift selection. I'd create > a separate setting to control this case, then set the default based on > their preferences. Shift selection follows a feature of many applications out there, and AFAIK they all behave with such selections as with mouse selections. It is actually a more fine-grained selection mechanism, since mouse selection frequently doesn't let you select partial words, or exclude punctuation from the selection, at least not easily. So I think we don't need a separate option for shift selection, it already behaves like those who use it expect. ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-11 7:48 ` Eli Zaretskii @ 2018-09-12 0:33 ` Richard Stallman 0 siblings, 0 replies; 78+ messages in thread From: Richard Stallman @ 2018-09-12 0:33 UTC (permalink / raw) To: Eli Zaretskii Cc: hw, spacibba, joostkremers, npostavs, emacs-devel, drew.adams, phillip.lord [[[ 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. ]]] > So I think we don't need a separate option for shift selection, If treating it like mouse selection makes people happy, fine with me. -- 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] 78+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-11 4:22 ` Richard Stallman 2018-09-11 7:48 ` Eli Zaretskii @ 2018-09-11 8:08 ` Eli Zaretskii 2018-09-12 0:33 ` Richard Stallman 1 sibling, 1 reply; 78+ messages in thread From: Eli Zaretskii @ 2018-09-11 8:08 UTC (permalink / raw) To: rms Cc: hw, spacibba, joostkremers, npostavs, emacs-devel, drew.adams, phillip.lord > From: Richard Stallman <rms@gnu.org> > Date: Tue, 11 Sep 2018 00:22:18 -0400 > Cc: hw@adminart.net, spacibba@aol.com, joostkremers@fastmail.fm, > npostavs@gmail.com, emacs-devel@gnu.org, drew.adams@oracle.com, > phillip.lord@russet.org.uk > > What I want to happen after I make a region with ordinary Emacs > commands, including C-SPC M-f and C-x C-x, is this: > > * It is active. > * It is highlighted. > * DEL does not delete it. > * self-insert does not delete it. Can you tell why you need it active and highlighted? Because otherwise, this is tantamount to turning off transient-mark-mode. ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-11 8:08 ` Eli Zaretskii @ 2018-09-12 0:33 ` Richard Stallman 2018-09-12 14:07 ` Eli Zaretskii 0 siblings, 1 reply; 78+ messages in thread From: Richard Stallman @ 2018-09-12 0:33 UTC (permalink / raw) To: Eli Zaretskii Cc: hw, spacibba, joostkremers, npostavs, emacs-devel, drew.adams, phillip.lord [[[ 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. ]]] > > * It is active. > > * It is highlighted. > > * DEL does not delete it. > > * self-insert does not delete it. > Can you tell why you need it active and highlighted? Because > otherwise, this is tantamount to turning off transient-mark-mode. It has to be active because C-x C-x is the way to activate the region without changing it. C-x C-x is also a way to make the region highlighted. -- 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] 78+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-12 0:33 ` Richard Stallman @ 2018-09-12 14:07 ` Eli Zaretskii 0 siblings, 0 replies; 78+ messages in thread From: Eli Zaretskii @ 2018-09-12 14:07 UTC (permalink / raw) To: rms Cc: hw, spacibba, joostkremers, npostavs, emacs-devel, drew.adams, phillip.lord > From: Richard Stallman <rms@gnu.org> > Cc: hw@adminart.net, spacibba@aol.com, joostkremers@fastmail.fm, > npostavs@gmail.com, emacs-devel@gnu.org, > drew.adams@oracle.com, phillip.lord@russet.org.uk > Date: Tue, 11 Sep 2018 20:33:05 -0400 > > > > * It is active. > > > * It is highlighted. > > > * DEL does not delete it. > > > * self-insert does not delete it. > > > Can you tell why you need it active and highlighted? Because > > otherwise, this is tantamount to turning off transient-mark-mode. > > It has to be active because C-x C-x is the way to activate the region > without changing it. > > C-x C-x is also a way to make the region highlighted. I guess I didn't explain myself clearly enough. What I was asking was why you need the region active? what features you want to use require that the region be active? what will you miss if "C-x C-x", "C-SPC M-f" etc. will not activate the region? ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-07 0:32 Noam Postavsky 2018-09-07 0:35 ` Drew Adams 2018-09-07 6:47 ` Eli Zaretskii @ 2018-09-08 5:13 ` Richard Stallman 2018-09-08 14:54 ` Drew Adams 2018-09-08 17:25 ` Clément Pit-Claudel 2 siblings, 2 replies; 78+ messages in thread From: Richard Stallman @ 2018-09-08 5:13 UTC (permalink / raw) To: Noam Postavsky; +Cc: hw, spacibba, emacs-devel, eliz, drew.adams, phillip.lord [[[ 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. ]]] It seems to me that the people who like delete-selection-mode are those who are used to some similar behavior in some other editor and have not truly got used to Emacs. They have two possible paths to follow: get used to Emacs, or stay in the middle. We can provide various features to make Emacs serve each group. But here we have a proposal to make the defaults serve cater primarily to those who don't want to get used to Emacs, rather than those who want to get used to Emacs, and also at the expense of experienced Emacs users. I am against making delete-selection-mode the default. However, there might be some way of helping new users choose this and other settings based on whether they want to truly get used to Emacs or just use it occasionally. -- 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] 78+ messages in thread
* RE: delete-selection-mode as default (WAS: Some developement questions) 2018-09-08 5:13 ` Richard Stallman @ 2018-09-08 14:54 ` Drew Adams 2018-09-09 1:23 ` Ergus 2018-09-08 17:25 ` Clément Pit-Claudel 1 sibling, 1 reply; 78+ messages in thread From: Drew Adams @ 2018-09-08 14:54 UTC (permalink / raw) To: rms, Noam Postavsky; +Cc: hw, eliz, emacs-devel, spacibba, phillip.lord > It seems to me that the people who like delete-selection-mode > are those who are used to some similar behavior in some other > editor and have not truly got used to Emacs. FWIW, that's not my case. My case is the opposite: I was used to "old" Emacs, e.g., pre transient-mark-mode. When `delete-selection-mode' came along I tried it and appreciated it immediately. I had no problem getting used to it. Dunno why. Perhaps simultaneously, or soon thereafter, I started to use other apps that had similar behavior. But I did not use them before using `d-s-m' in Emacs. I used `d-s-m' long before I ever used Emacs on MS Windows, for example. Anyway, I think you're right about most other people who use `d-s-m'. It's likely that they got used to the behavior first outside Emacs. That's probable, simply because many users came to Emacs later and the behavior was already ubiquitous outside Emacs. > They have two possible paths to follow: get used to Emacs, "Get used to Emacs" has nothing to do with it. That's almost insulting, I think. > or stay in the middle. We can provide various features to > make Emacs serve each group. > But here we have a proposal to make the defaults serve cater > primarily to those who don't want to get used to Emacs, I think that's an awful way to express it. What is "Emacs", that these people supposedly don't want to get used to? Emacs to me includes `d-s-mode'. To me, it's just as (un)reasonable to say that those who don't want `d-s-m' to be the default "don't want to get used to Emacs." Neither makes sense. This is not about assimilating immigrants to some dominant culture, and bothering over the question about what to do with those who just "don't want to get used to it" - whether to give them tourist visas, make their short stays comfortable, and not make them adapt. That's the wrong way to look at this, IMO, but that's kind of what I hear you suggesting. (But I hope I'm wrong, and this does really surprise me coming from you, who have typically taken a very positive and fair moral stance.) > rather than those who want to get used to Emacs, > and also at the expense of experienced Emacs users. I don't think either default behavior would be at the expense of experienced Emacs users. It's trivial to set one's preference about this in an init file. I've been doing it for decades. Not a big deal. This is only about what the default behavior should be. That should have no effect on experienced Emacs users. It's not helpful, I think, to cast this as being about people who do or don't "want to get used to Emacs." Putting it that way betrays, at best, a misunderstanding, I think. I vote for making `d-s-m' the default because I think it makes Emacs better - like `transient-mark-mode'. Can't people just opt into it? Sure, and that's been the case for years. It will likely remain the case for many more years, I expect. Why make it the default? No great reason, I think. More people are likely to "get used to Emacs with it". More existing Emacs users are likely to make use of it (maybe). But there's no _compelling_ reason to turn it on - or off - by default, IMO. > I am against making delete-selection-mode the default. Got it. And I am for it. (I wonder where we each stood initially when the question was raised about turning on `transient-mark-mode'?) It's fine and normal for different people to feel differently about such things, and even to feel strongly. I feel (fairly) strongly that `cua-mode' should not be turned on by default, for instance. But most of the same arguments that some are making here for `d-s-m' have been made also for `cua-mode'. To me, those two are very different, especially wrt how they affect the rest of Emacs. `d-s-m' has little to no effect on the use of other keys etc. `cua-mode' conflicts deeply with much of the rest of Emacs (IMO). That's why my arguments for turning on `d-s-m' by default don't focus on most people being already used to that behavior, from outside Emacs. That's the most common argument here in favor of `d-s-m', but it's not mine. I think it is good behavior, and good especially for Emacs. I picked it up after using Emacs for years without it - because I found it helpful. That it facilitates going back and forth between Emacs and other apps is a nice thing, but it's no compelling argument. `cua-mode' would also make it easier to go back and forth, and I'm against that. Does it sometimes trip me up inside Emacs or outside it, when I try to use `C-s' or `C-f' mistakenly? Yup. But I still don't want to use `cua-mode' in Emacs, and I still don't think it should be turned on by default. Just one opinion. ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-08 14:54 ` Drew Adams @ 2018-09-09 1:23 ` Ergus 0 siblings, 0 replies; 78+ messages in thread From: Ergus @ 2018-09-09 1:23 UTC (permalink / raw) To: Drew Adams; +Cc: hw, rms, Noam Postavsky, emacs-devel, eliz, phillip.lord On Sat, Sep 08, 2018 at 07:54:18AM -0700, Drew Adams wrote: >> It seems to me that the people who like delete-selection-mode >> are those who are used to some similar behavior in some other >> editor and have not truly got used to Emacs. > >FWIW, that's not my case. My case is the opposite: I was used >to "old" Emacs, e.g., pre transient-mark-mode. When >`delete-selection-mode' came along I tried it and appreciated >it immediately. I had no problem getting used to it. Dunno why. > >Perhaps simultaneously, or soon thereafter, I started to use >other apps that had similar behavior. But I did not use them >before using `d-s-m' in Emacs. I used `d-s-m' long before I ever >used Emacs on MS Windows, for example. > >Anyway, I think you're right about most other people who >use `d-s-m'. It's likely that they got used to the behavior first >outside Emacs. That's probable, simply because many users >came to Emacs later and the behavior was already ubiquitous >outside Emacs. > >> They have two possible paths to follow: get used to Emacs, > >"Get used to Emacs" has nothing to do with it. That's almost >insulting, I think. > >> or stay in the middle. We can provide various features to >> make Emacs serve each group. > >> But here we have a proposal to make the defaults serve cater >> primarily to those who don't want to get used to Emacs, > >I think that's an awful way to express it. What is "Emacs", >that these people supposedly don't want to get used to? > >Emacs to me includes `d-s-mode'. To me, it's just as >(un)reasonable to say that those who don't want `d-s-m' to >be the default "don't want to get used to Emacs." Neither >makes sense. > >This is not about assimilating immigrants to some >dominant culture, and bothering over the question >about what to do with those who just "don't want to get >used to it" - whether to give them tourist visas, make their >short stays comfortable, and not make them adapt. > >That's the wrong way to look at this, IMO, but that's kind >of what I hear you suggesting. (But I hope I'm wrong, and >this does really surprise me coming from you, who have >typically taken a very positive and fair moral stance.) > >> rather than those who want to get used to Emacs, >> and also at the expense of experienced Emacs users. > >I don't think either default behavior would be at the >expense of experienced Emacs users. It's trivial to set >one's preference about this in an init file. I've been >doing it for decades. Not a big deal. > >This is only about what the default behavior should be. >That should have no effect on experienced Emacs users. > >It's not helpful, I think, to cast this as being about people >who do or don't "want to get used to Emacs." Putting it >that way betrays, at best, a misunderstanding, I think. > >I vote for making `d-s-m' the default because I think it >makes Emacs better - like `transient-mark-mode'. > >Can't people just opt into it? Sure, and that's been the >case for years. It will likely remain the case for many >more years, I expect. > >Why make it the default? No great reason, I think. More >people are likely to "get used to Emacs with it". More >existing Emacs users are likely to make use of it (maybe). >But there's no _compelling_ reason to turn it on - or off - >by default, IMO. > >> I am against making delete-selection-mode the default. > >Got it. And I am for it. > >(I wonder where we each stood initially when the question >was raised about turning on `transient-mark-mode'?) > >It's fine and normal for different people to feel differently >about such things, and even to feel strongly. > >I feel (fairly) strongly that `cua-mode' should not be turned >on by default, for instance. But most of the same arguments >that some are making here for `d-s-m' have been made also >for `cua-mode'. > >To me, those two are very different, especially wrt how >they affect the rest of Emacs. `d-s-m' has little to no effect >on the use of other keys etc. `cua-mode' conflicts deeply >with much of the rest of Emacs (IMO). > >That's why my arguments for turning on `d-s-m' by default >don't focus on most people being already used to that >behavior, from outside Emacs. > >That's the most common argument here in favor of `d-s-m', >but it's not mine. I think it is good behavior, and good >especially for Emacs. I picked it up after using Emacs for >years without it - because I found it helpful. > >That it facilitates going back and forth between Emacs and >other apps is a nice thing, but it's no compelling argument. > >`cua-mode' would also make it easier to go back and forth, >and I'm against that. Does it sometimes trip me up inside >Emacs or outside it, when I try to use `C-s' or `C-f' mistakenly? >Yup. But I still don't want to use `cua-mode' in Emacs, and >I still don't think it should be turned on by default. > >Just one opinion. > I agree because cua-mode is very intrusive with the normal emacs workflow, but on the other had cua-rectangle-mode is not and it is not by default in emacs (I can't really understand why) and the default rectangle selection is very primitive. The actual C-x SPC rectangle selection is not as good as cua-rectangle selection in any sense and duplicated functionalities that where already there, it is not possible to move the rectangle or change the rectangle selection to global selection, and for copy/paste/edit it requires extra commands with C-x r prefix. Cua-rectangle-mode offers exactly the same functionalities without the C-x r prefix, plus commands like rectangle selection, edition and move out of the box with no extra commands and not changing the emacs behavior. I think this is one example where the default behavior it much more primitive than the default one for not real reason. ^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: delete-selection-mode as default (WAS: Some developement questions) 2018-09-08 5:13 ` Richard Stallman 2018-09-08 14:54 ` Drew Adams @ 2018-09-08 17:25 ` Clément Pit-Claudel 1 sibling, 0 replies; 78+ messages in thread From: Clément Pit-Claudel @ 2018-09-08 17:25 UTC (permalink / raw) To: emacs-devel On 2018-09-08 01:13, Richard Stallman wrote: > It seems to me that the people who like delete-selection-mode > are those who are used to some similar behavior in some other > editor and have not truly got used to Emacs. I think that might be begging the question, actually. Or, at least, this argument can be applied to any Emacs default, if that default doesn't align with what other editors do. In other words, sufficiently proficient users of Emacs will get used to all of its defaults, or change them. That doesn't mean that they are all good defaults. delete-selection-mode might be a good default; I don't know. I tend to think that we should only diverge from the behavior of other programs if it yields significant benefits. I see lossless undo, kill ring, undo-in-region, and many other features as yielding significant benefits, worth the divergence from other more typical behavior. I don't see delete-selection-mode being off in the same way. That could be because I don't see all that it offers. Clément. ^ permalink raw reply [flat|nested] 78+ messages in thread
end of thread, other threads:[~2018-10-20 18:33 UTC | newest] Thread overview: 78+ 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 -- strict thread matches above, loose matches on Subject: below -- 2018-09-08 3:46 delete-selection-mode as default (WAS: Some developement questions) Bingo 2018-09-07 0:32 Noam Postavsky 2018-09-07 0:35 ` Drew Adams 2018-09-07 6:47 ` Eli Zaretskii 2018-09-07 9:40 ` Phil Sainty 2018-09-07 13:41 ` Eli Zaretskii 2018-09-08 11:37 ` Phil Sainty 2018-09-08 14:04 ` Eli Zaretskii 2018-09-07 15:35 ` Drew Adams 2018-09-07 16:16 ` Yuri Khan 2018-09-07 19:01 ` tomas 2018-09-07 19:23 ` Drew Adams 2018-09-07 20:28 ` tomas 2018-09-07 20:33 ` Noam Postavsky 2018-09-07 21:31 ` tomas 2018-09-09 13:45 ` Alan Mackenzie 2018-09-09 14:22 ` Clément Pit-Claudel 2018-09-09 15:12 ` Drew Adams 2018-09-09 20:39 ` Joost Kremers 2018-09-09 22:24 ` Drew Adams 2018-09-10 3:08 ` Phil Sainty 2018-09-10 3:17 ` Drew Adams 2018-09-10 5:15 ` Bingo 2018-09-10 18:16 ` Alan Mackenzie 2018-09-10 18:35 ` Clément Pit-Claudel 2018-09-10 19:19 ` Alan Mackenzie 2018-09-10 20:36 ` Drew Adams 2018-09-10 7:05 ` Eli Zaretskii 2018-09-11 4:22 ` Richard Stallman 2018-09-11 7:48 ` Eli Zaretskii 2018-09-12 0:33 ` Richard Stallman 2018-09-11 8:08 ` Eli Zaretskii 2018-09-12 0:33 ` Richard Stallman 2018-09-12 14:07 ` Eli Zaretskii 2018-09-08 5:13 ` Richard Stallman 2018-09-08 14:54 ` Drew Adams 2018-09-09 1:23 ` Ergus 2018-09-08 17:25 ` Clément Pit-Claudel
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).