[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#25318: 24.5; Put `M-s' on a prefix keymap in Isearch
From: |
Drew Adams |
Subject: |
bug#25318: 24.5; Put `M-s' on a prefix keymap in Isearch |
Date: |
Sun, 29 Sep 2019 11:45:34 -0700 (PDT) |
> > 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.