Subject: bug#25318: 24.5; Put `M-s' on a prefix keymap in Isearch

From: Drew Adams <[email-masked]>
Date: Sat, 31 Dec 2016 20:56:49 -0800 (PST)

Currently, `isearch-mode-map' has a number of key sequences bound in it
that begin with prefix-key `M-s':

M-s C-e		isearch-yank-line
M-s SPC		isearch-toggle-lax-whitespace
M-s '		isearch-toggle-char-fold
M-s _		isearch-toggle-symbol
M-s c		isearch-toggle-case-fold
M-s e		isearch-edit-string
M-s i		isearch-toggle-invisible
M-s o		isearch-occur
M-s r		isearch-toggle-regexp
M-s w		isearch-toggle-word
M-s h r		isearch-highlight-regexp

And 3rd-party libraries have added more such `M-s ...' keys.

But there is no keymap for prefix-key `M-s'.  There should be.

Please put all of the `M-s' prefixed keys on a separate, prefix-key
keymap, which itself is on `isearch-mode-map'.

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).

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.

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.

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).

In GNU Emacs 24.5.1 (i686-pc-mingw32)
 of 2015-04-11 on LEG570
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
 `configure --prefix=/c/usr --host=i686-pc-mingw32'