* Why change the advertised bindings of Isearch commands? @ 2015-11-26 18:45 Drew Adams 2015-11-26 23:16 ` Juri Linkov 0 siblings, 1 reply; 11+ messages in thread From: Drew Adams @ 2015-11-26 18:45 UTC (permalink / raw) To: Emacs-devel In Isearch, these key bindings have long been in effect, and they are still in effect: M-e - isearch-edit-string M-c - isearch-toggle-case-fold M-r - isearch-toggle-regexp These keys are far easier to use than M-s c, M-s r, M-s e. So why have we changed the advertised bindings to be these more complex keys? IOW, why this? (put 'isearch-toggle-case-fold :advertised-binding "\M-sc") (put 'isearch-toggle-regexp :advertised-binding "\M-sr") (put 'isearch-edit-string :advertised-binding "\M-se") I do not think this is an improvement for users. If the aim was to let users know that they _can_ find such commands on the common prefix `M-s' (which is fine), that information is available in other ways. For one thing, it is trivial to do `M-s C-h' during Isearch, to see all of the `M-s' bindings. Let's please not advertise these more complex bindings in favor of the longstanding, simple ones (thankfully still usable). ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Why change the advertised bindings of Isearch commands? 2015-11-26 18:45 Why change the advertised bindings of Isearch commands? Drew Adams @ 2015-11-26 23:16 ` Juri Linkov 2015-11-27 0:03 ` Drew Adams 0 siblings, 1 reply; 11+ messages in thread From: Juri Linkov @ 2015-11-26 23:16 UTC (permalink / raw) To: Drew Adams; +Cc: Emacs-devel > In Isearch, these key bindings have long been in effect, > and they are still in effect: > > M-e - isearch-edit-string > M-c - isearch-toggle-case-fold > M-r - isearch-toggle-regexp > > These keys are far easier to use than M-s c, M-s r, M-s e. > So why have we changed the advertised bindings to be these > more complex keys? 0. emacs -Q 1. C-h c M-e - M-e runs the command forward-sentence 2. C-h c M-c - M-c runs the command capitalize-word 3. C-h c M-r - M-r runs the command move-to-window-line-top-bottom IOW, those are keys that are more useful to exit Isearch and do what they do normally, thus advertising the new bindings will help to get rid of old bindings in later releases. ^ permalink raw reply [flat|nested] 11+ messages in thread
* RE: Why change the advertised bindings of Isearch commands? 2015-11-26 23:16 ` Juri Linkov @ 2015-11-27 0:03 ` Drew Adams 2015-11-27 7:58 ` Eli Zaretskii 0 siblings, 1 reply; 11+ messages in thread From: Drew Adams @ 2015-11-27 0:03 UTC (permalink / raw) To: Juri Linkov; +Cc: Emacs-devel > > In Isearch, these key bindings have long been in effect, > > and they are still in effect: > > > > M-e - isearch-edit-string > > M-c - isearch-toggle-case-fold > > M-r - isearch-toggle-regexp > > > > These keys are far easier to use than M-s c, M-s r, M-s e. > > So why have we changed the advertised bindings to be these > > more complex keys? > > 0. emacs -Q > 1. C-h c M-e - M-e runs the command forward-sentence > 2. C-h c M-c - M-c runs the command capitalize-word > 3. C-h c M-r - M-r runs the command move-to-window-line-top-bottom > > IOW, those are keys that are more useful to exit Isearch and do > what they do normally, thus advertising the new bindings will help > to get rid of old bindings in later releases. I disagree that we should remove those keys from the realm of Isearch just because they have global bindings. There are many, many keys that you can use to exit Isearch. And different users use different such keys to exit. And different users care to have different keys exit and act immediately. I see no reason to add these keys, by default, to the list of keys that exit Isearch. Any user who is that much a fan of performing any of those global actions without first quitting Isearch can of course bind them herself in the Isearch map - as has always been the case. That is trivial to do. These keys perform important and commonly used Isearch actions, and they should be kept for Isearch, as is. This kind of change is gratuitous (it has not been demanded by users), and is a step backward. IMHO. I don't mind that the commands are _added_ to the `M-s' prefix. What is wrong is to make those more complex bindings the advertised bindings. At the point where Emacs Dev has actually decided to remove these short keys, for some reason, presumably that removal will be part of a more interesting set of features. And at that point, if it ever comes, there would be no need to advertise the complicated keys, as the quicker keys would be gone. This change is premature and uncalled for, IMHO. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Why change the advertised bindings of Isearch commands? 2015-11-27 0:03 ` Drew Adams @ 2015-11-27 7:58 ` Eli Zaretskii 2015-11-28 5:33 ` Richard Stallman 0 siblings, 1 reply; 11+ messages in thread From: Eli Zaretskii @ 2015-11-27 7:58 UTC (permalink / raw) To: Drew Adams; +Cc: emacs-devel, juri > Date: Thu, 26 Nov 2015 16:03:28 -0800 (PST) > From: Drew Adams <drew.adams@oracle.com> > Cc: Emacs-devel <emacs-devel@gnu.org> > > > 1. C-h c M-e - M-e runs the command forward-sentence > > 2. C-h c M-c - M-c runs the command capitalize-word > > 3. C-h c M-r - M-r runs the command move-to-window-line-top-bottom > > > > IOW, those are keys that are more useful to exit Isearch and do > > what they do normally, thus advertising the new bindings will help > > to get rid of old bindings in later releases. > > I disagree that we should remove those keys from the realm of > Isearch just because they have global bindings. There are many, > many keys that you can use to exit Isearch. And different users > use different such keys to exit. And different users care to > have different keys exit and act immediately. The issue is not how to exit Isearch. The issue is how to go forward one sentence or capitalize a word while in Isearch. What you are saying is that a user who spots a word to be capitalized during Isearch needs to do at least 2 things: exit Isearch with some key, then type M-c. Jury wants just M-c within Isearch to do both. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Why change the advertised bindings of Isearch commands? 2015-11-27 7:58 ` Eli Zaretskii @ 2015-11-28 5:33 ` Richard Stallman 2015-11-28 20:30 ` John Wiegley 0 siblings, 1 reply; 11+ messages in thread From: Richard Stallman @ 2015-11-28 5:33 UTC (permalink / raw) To: Eli Zaretskii; +Cc: juri, drew.adams, 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 issue is not how to exit Isearch. The issue is how to go forward > one sentence or capitalize a word while in Isearch. What you are > saying is that a user who spots a word to be capitalized during > Isearch needs to do at least 2 things: exit Isearch with some key, > then type M-c. Jury wants just M-c within Isearch to do both. I was unhappy when M-c was given a special search meaning, for precisely this reason. I've actually been tripped up by M-c and with M-e, though not very often. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Why change the advertised bindings of Isearch commands? 2015-11-28 5:33 ` Richard Stallman @ 2015-11-28 20:30 ` John Wiegley 0 siblings, 0 replies; 11+ messages in thread From: John Wiegley @ 2015-11-28 20:30 UTC (permalink / raw) To: Richard Stallman; +Cc: Eli Zaretskii, emacs-devel, drew.adams, juri >>>>> Richard Stallman <rms@gnu.org> writes: > I was unhappy when M-c was given a special search meaning, for precisely > this reason. I've actually been tripped up by M-c and with M-e, though not > very often. I would also prefer it if M-c and M-e were capable of exiting isearch, since that is consistent with other forms of use. John ^ permalink raw reply [flat|nested] 11+ messages in thread
[parent not found: <<98f8a71f-1f10-4ff6-a4c1-8dc2d179b84b@default>]
[parent not found: <<87ziy05p3g.fsf@mail.linkov.net>]
[parent not found: <<1a6f342a-3e59-4555-a345-e518cc598299@default>]
[parent not found: <<83egfbub4q.fsf@gnu.org>]
* RE: Why change the advertised bindings of Isearch commands? [not found] ` <<83egfbub4q.fsf@gnu.org> @ 2015-11-27 9:33 ` Drew Adams 2015-11-27 10:16 ` Eli Zaretskii 0 siblings, 1 reply; 11+ messages in thread From: Drew Adams @ 2015-11-27 9:33 UTC (permalink / raw) To: Eli Zaretskii, Drew Adams; +Cc: emacs-devel, juri > > > 1. C-h c M-e - M-e runs the command forward-sentence > > > 2. C-h c M-c - M-c runs the command capitalize-word > > > 3. C-h c M-r - M-r runs the command move-to-window-line-top-bottom > > > > > > IOW, those are keys that are more useful to exit Isearch and do > > > what they do normally, thus advertising the new bindings will help > > > to get rid of old bindings in later releases. > > > > I disagree that we should remove those keys from the realm of > > Isearch just because they have global bindings. There are many, > > many keys that you can use to exit Isearch. And different users > > use different such keys to exit. And different users care to > > have different keys exit and act immediately. > > The issue is not how to exit Isearch. The issue is how to go > forward one sentence or capitalize a word while in Isearch. Read what I said, please. No one said that the "issue" is "how to exit". It's about changing the default behavior to make these keys "exit and act immediately". Using M-c to exit and capitalize means removing it as a key that does something useful _in_ Isearch. And the particular thing M-c does now, which we would be losing it for, is a common Isearch action: toggle case-fold. Likewise for the other keys. > What you are saying is that a user who spots a word to be > capitalized during Isearch needs to do at least 2 things: > exit Isearch with some key, then type M-c. Exactly as it has always been: `RET M-c'. And not "at least 2 things". Exactly 2 things: exit & act. If you want to do something outside of Isearch you quit Isearch and do it. Nothing new here. What you are saying is that a user who wants to toggle case-fold should need to do 2 things: `M-s c'. You might say, "Six of one; half a dozen of the other." Except that one is the longstanding default, and was done for Isearch. The other is one person's preference (so far). The question (which IMO should have been raised, instead of just implementing a change) is which is more useful for most users of Isearch, most of the time. So far, no reason for this change in defaults (for 3 keys) was even given. AFAIK, it ain't broke; no need to fix it. Why change the default behavior for these particular keys now? And without any discussion or polling of users? As I said, "different users care to have different keys exit and act immediately". It is trivial for a user to make M-c exit and act immediately. The default behavior makes sense to me. I don't see a crying need to reduce `RET M-c' to M-c and make users use `M-s c' to toggle case sensitivity. But let's hear some arguments in favor of the changes, please. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Why change the advertised bindings of Isearch commands? 2015-11-27 9:33 ` Drew Adams @ 2015-11-27 10:16 ` Eli Zaretskii 0 siblings, 0 replies; 11+ messages in thread From: Eli Zaretskii @ 2015-11-27 10:16 UTC (permalink / raw) To: Drew Adams; +Cc: emacs-devel, juri > Date: Fri, 27 Nov 2015 01:33:10 -0800 (PST) > From: Drew Adams <drew.adams@oracle.com> > Cc: juri@linkov.net, emacs-devel@gnu.org > > > > > 1. C-h c M-e - M-e runs the command forward-sentence > > > > 2. C-h c M-c - M-c runs the command capitalize-word > > > > 3. C-h c M-r - M-r runs the command move-to-window-line-top-bottom > > > > > > > > IOW, those are keys that are more useful to exit Isearch and do > > > > what they do normally, thus advertising the new bindings will help > > > > to get rid of old bindings in later releases. > > > > > > I disagree that we should remove those keys from the realm of > > > Isearch just because they have global bindings. There are many, > > > many keys that you can use to exit Isearch. And different users > > > use different such keys to exit. And different users care to > > > have different keys exit and act immediately. > > > > The issue is not how to exit Isearch. The issue is how to go > > forward one sentence or capitalize a word while in Isearch. > > Read what I said, please. No one said that the "issue" is > "how to exit". It's about changing the default behavior to > make these keys "exit and act immediately". Read what _I_ said, please. I was describing the issue Jury alluded to. > Using M-c to exit and capitalize means removing it as a key > that does something useful _in_ Isearch. And evidently, the desire to remove it means we think its binding outside Isearch is more useful. > And the particular thing M-c does now, which we would > be losing it for, is a common Isearch action: toggle > case-fold. Likewise for the other keys. You have an alternative for that. > > What you are saying is that a user who spots a word to be > > capitalized during Isearch needs to do at least 2 things: > > exit Isearch with some key, then type M-c. > > Exactly as it has always been: `RET M-c'. The intent of the advertised bindings is to change that at some future point. > And not "at least 2 things". Exactly 2 things: exit & act. No, it's "at least 2 things". Because depending on how you exit Isearch you may need to move point first. > So far, no reason for this change in defaults (for 3 keys) > was even given. AFAIK, it ain't broke; no need to fix it. That's a different issue. You asked why the advertised bindings were changed; you now have the answer, I hope. > As I said, "different users care to have different keys > exit and act immediately". There are facilities to tailor the commands that exit Isearch, if the user doesn't like the defaults. > But let's hear some arguments in favor of the changes, please. That's a separate discussion. ^ permalink raw reply [flat|nested] 11+ messages in thread
[parent not found: <<dddad317-4c44-4a68-b1d3-19bbd3a6746f@default>]
[parent not found: <<83k2p3sq71.fsf@gnu.org>]
* RE: Why change the advertised bindings of Isearch commands? [not found] ` <<83k2p3sq71.fsf@gnu.org> @ 2015-11-27 16:50 ` Drew Adams 2015-11-27 23:09 ` Juri Linkov 0 siblings, 1 reply; 11+ messages in thread From: Drew Adams @ 2015-11-27 16:50 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel, juri > > Using M-c to exit and capitalize means removing it as a key > > that does something useful _in_ Isearch. > > And evidently, the desire to remove it means we think its binding > outside Isearch is more useful. We do? How and when did we decide that? What were the arguments pro and con - where can I find the discussion? Did we poll the users, to get their take on this? > > > What you are saying is that a user who spots a word to be > > > capitalized during Isearch needs to do at least 2 things: > > > exit Isearch with some key, then type M-c. > > > > Exactly as it has always been: `RET M-c'. > > The intent of the advertised bindings is to change that at some > future point. Since when do we advertise bindings for that reason? Can you point to a case where we've done that? An advertised binding is typically used to ensure that the simplest or most flexible binding gets advertised, instead of a more complex binding that the tools would otherwise automatically report as "the" binding. At any rate, it's that intention to "change that at some future point" that I haven't seen discussed or decided. And that I disagree with. But if it _has_ been discussed and decided then I have no problem supporting the decision, even if I disagree with it. > > And not "at least 2 things". Exactly 2 things: exit & act. > > No, it's "at least 2 things". Because depending on how you exit > Isearch you may need to move point first. Oh come on. Sure, you _could_ exit with a key that you bind to a function that does whatever nutty thing you like, and then have to move back where you were. This is 100% beside the point (seems like arguing for the sake of arguing), since there are other keys (e.g. RET) that do _not_ take you all around Robinson's barn. > > So far, no reason for this change in defaults (for 3 keys) > > was even given. AFAIK, it ain't broke; no need to fix it. > > That's a different issue. You asked why the advertised > bindings were changed; you now have the answer, I hope. No, my question is why _should_ we change these bindings? Your answer is that they were changed because we decided to change them. Sheesh. How about an argument to support the change and the intention to remove these Isearch bindings? How about polling the users? > > As I said, "different users care to have different keys > > exit and act immediately". > > There are facilities to tailor the commands that exit > Isearch, if the user doesn't like the defaults. Precisely. So why the need for this change? That's the question (still unanswered). > > But let's hear some arguments in favor of the changes, > > please. > > That's a separate discussion. No, that's exactly what this thread is about. I started the thread, and that is what my question is: _Why_ should we change these bindings? Reasons, please. You seem to be content to say that the "reason" for the change is that Juri made the change - he decided that it should be made and he made it. That's the starting point for the question; it does not answer the question. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Why change the advertised bindings of Isearch commands? 2015-11-27 16:50 ` Drew Adams @ 2015-11-27 23:09 ` Juri Linkov 2015-11-28 1:01 ` Drew Adams 0 siblings, 1 reply; 11+ messages in thread From: Juri Linkov @ 2015-11-27 23:09 UTC (permalink / raw) To: Drew Adams; +Cc: Eli Zaretskii, emacs-devel >> > Using M-c to exit and capitalize means removing it as a key >> > that does something useful _in_ Isearch. >> >> And evidently, the desire to remove it means we think its binding >> outside Isearch is more useful. > > We do? How and when did we decide that? > > What were the arguments pro and con - where can I find the > discussion? Did we poll the users, to get their take on this? You can find the discussion that you missed in the mail archive. >> > > What you are saying is that a user who spots a word to be >> > > capitalized during Isearch needs to do at least 2 things: >> > > exit Isearch with some key, then type M-c. >> > >> > Exactly as it has always been: `RET M-c'. >> >> The intent of the advertised bindings is to change that at some >> future point. > > Since when do we advertise bindings for that reason? Can you > point to a case where we've done that? An advertised binding > is typically used to ensure that the simplest or most flexible > binding gets advertised, instead of a more complex binding that > the tools would otherwise automatically report as "the" binding. > > At any rate, it's that intention to "change that at some future > point" that I haven't seen discussed or decided. > > And that I disagree with. But if it _has_ been discussed and > decided then I have no problem supporting the decision, even > if I disagree with it. I remember that the consensus was to reduce the number of Isearch keys that override their global bindings. >> > And not "at least 2 things". Exactly 2 things: exit & act. >> >> No, it's "at least 2 things". Because depending on how you exit >> Isearch you may need to move point first. > > Oh come on. Sure, you _could_ exit with a key that you bind > to a function that does whatever nutty thing you like, and > then have to move back where you were. This is 100% beside > the point (seems like arguing for the sake of arguing), since > there are other keys (e.g. RET) that do _not_ take you all > around Robinson's barn. > >> > So far, no reason for this change in defaults (for 3 keys) >> > was even given. AFAIK, it ain't broke; no need to fix it. >> >> That's a different issue. You asked why the advertised >> bindings were changed; you now have the answer, I hope. > > No, my question is why _should_ we change these bindings? > > Your answer is that they were changed because we decided to > change them. Sheesh. How about an argument to support the > change and the intention to remove these Isearch bindings? > How about polling the users? > >> > As I said, "different users care to have different keys >> > exit and act immediately". >> >> There are facilities to tailor the commands that exit >> Isearch, if the user doesn't like the defaults. > > Precisely. So why the need for this change? That's the > question (still unanswered). > >> > But let's hear some arguments in favor of the changes, >> > please. >> >> That's a separate discussion. > > No, that's exactly what this thread is about. I started > the thread, and that is what my question is: _Why_ should > we change these bindings? Reasons, please. Nobody changed these bindings yet, you can still use them. ^ permalink raw reply [flat|nested] 11+ messages in thread
* RE: Why change the advertised bindings of Isearch commands? 2015-11-27 23:09 ` Juri Linkov @ 2015-11-28 1:01 ` Drew Adams 0 siblings, 0 replies; 11+ messages in thread From: Drew Adams @ 2015-11-28 1:01 UTC (permalink / raw) To: Juri Linkov; +Cc: Eli Zaretskii, emacs-devel > >> And evidently, the desire to remove it means we think its > >> binding outside Isearch is more useful. > > > > We do? How and when did we decide that? > > > > What were the arguments pro and con - where can I find the > > discussion? Did we poll the users, to get their take on this? > > You can find the discussion that you missed in the mail archive. Could you possibly please point to it? Subject? month? year? keywords? I searched quickly (and unsuccessfully) for "capitalize" over the last 8 years, but a pointer would help. > > And that I disagree with. But if it _has_ been discussed and > > decided then I have no problem supporting the decision, even > > if I disagree with it. > > I remember that the consensus was to reduce the number of > Isearch keys that override their global bindings. A consensus, huh? And these particular keys were discussed, and decided on? I'd like to see that discussion. ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2015-11-28 20:30 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-11-26 18:45 Why change the advertised bindings of Isearch commands? Drew Adams 2015-11-26 23:16 ` Juri Linkov 2015-11-27 0:03 ` Drew Adams 2015-11-27 7:58 ` Eli Zaretskii 2015-11-28 5:33 ` Richard Stallman 2015-11-28 20:30 ` John Wiegley [not found] <<98f8a71f-1f10-4ff6-a4c1-8dc2d179b84b@default> [not found] ` <<87ziy05p3g.fsf@mail.linkov.net> [not found] ` <<1a6f342a-3e59-4555-a345-e518cc598299@default> [not found] ` <<83egfbub4q.fsf@gnu.org> 2015-11-27 9:33 ` Drew Adams 2015-11-27 10:16 ` Eli Zaretskii [not found] <<dddad317-4c44-4a68-b1d3-19bbd3a6746f@default> [not found] ` <<83k2p3sq71.fsf@gnu.org> 2015-11-27 16:50 ` Drew Adams 2015-11-27 23:09 ` Juri Linkov 2015-11-28 1:01 ` Drew Adams
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).