From: Drew Adams <drew.adams@oracle.com>
To: Lars Ingebrigtsen <larsi@gnus.org>
Cc: 25318@debbugs.gnu.org
Subject: bug#25318: 24.5; Put `M-s' on a prefix keymap in Isearch
Date: Sun, 29 Sep 2019 11:45:34 -0700 (PDT) [thread overview]
Message-ID: <9e729f75-9bcb-41c0-9ad7-d17f5790852a@default> (raw)
In-Reply-To: <87k19ratr9.fsf@gnus.org>
> > Currently, `isearch-mode-map' has a number of key sequences bound in it
> > that begin with prefix-key `M-s':...
> > Since these keys do not form any _specific_ grouping, I'd propose a
> > name for the keymap such as `isearch-misc-map' (better than nothing).
>
> As you point out, these commands aren't functional grouping of any kind,
> so I don't think it makes sense to put them on a separate map. It's not
> like anybody would want to put all those functions somewhere else, which
> is the primary reason to have sub-keymaps.
They are all on the same prefix key. So yes, there is a good reason why someone might "want to put all those functions somewhere else": to put them on another prefix key.
That's the raison d'etre for a prefix-map variable: to be able to easily reuse or move all of its bindings at once, e.g. to another prefix key.
If there's a reason why each of the commands is on prefix key `M-s' then the same reason applies for putting them on another prefix key - move/reuse them all, together.
Whether one or more of those commands shouldn't really be on the same prefix key is a separate question, for the maintainers of isearch.el to consider. It's unrelated to the need/desire to grab put all of the `M-s' commands on another (additional or replacement) prefix key.
> > This will let users and other libraries move the prefix keymap to a
> > different prefix key if they want, or define `M-s C-h' to show only the
> > bindings on prefix `M-s', and so on.
Clear, no? Both the 1st part and the 2nd, regarding `M-s C-h'. The desire to offer `M-s C-h' is an additional reason to add a prefix-key variable for prefix key `M-s'.
> > As it stands now, a 3rd-party library cannot do what this bug report
> > requests, because there are likely other libraries, which may be loaded
> > before it, and which bind `M-s <whatever' directly in
> > `isearch-mode-map'. Those bindings would be wiped out by a later
> > binding of `M-s' to a prefix map.
Also clear, no?
> > But if this is done in core Emacs then there will be no such problem
> > (there is no problem if a library binds `M-s <whatever>' directly in
> > `isearch-mode-map' AFTER the prefix map has been placed on
> > `isearch-mode-map).
>
> So your use case is that you want to bind `M-s' to a prefix map
> out-of-tree?
Sorry, I don't know what "out-of-tree" means.
See above for the reasons for this request. It's not about wanting to bind `M-s'. It's about wanting to bind another prefix key. And it's about providing `M-s C-h'. The prefix key should have a keymap, usable by users and libraries.
next prev parent reply other threads:[~2019-09-29 18:45 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-01 4:56 bug#25318: 24.5; Put `M-s' on a prefix keymap in Isearch Drew Adams
2019-09-29 17:37 ` Lars Ingebrigtsen
2019-09-29 18:45 ` Drew Adams [this message]
2019-09-30 5:31 ` Lars Ingebrigtsen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9e729f75-9bcb-41c0-9ad7-d17f5790852a@default \
--to=drew.adams@oracle.com \
--cc=25318@debbugs.gnu.org \
--cc=larsi@gnus.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).