* 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 ` Why change the advertised bindings of Isearch commands? 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>]
* 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 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
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 --
[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 ` Why change the advertised bindings of Isearch commands? 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
2015-11-26 18:45 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
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).