From: Jimmy Yuen Ho Wong <wyuenho@gmail.com>
To: Gregory Heytings <gregory@heytings.org>
Cc: 48153@debbugs.gnu.org
Subject: bug#48153: 28.0.50; minor mode keymaps should not override keymap given to read-from-minibuffer
Date: Wed, 5 May 2021 10:10:23 +0100 [thread overview]
Message-ID: <CAKDRQS6u1VjbZRZCpz8mXwGq9qWi0O+MwPB0HStS7Z60KDTfkQ@mail.gmail.com> (raw)
In-Reply-To: <70f2eadd5f48937bb057@heytings.org>
>
> Why would they not? The minibuffer behaves, in that respect, like any
> other buffer. Note that they do so only when the minor mode is enabled in
> the minibuffer.
>
Because the minibuffer does not behave like any other buffers. Setting
`minor-mode-overriding-map-alist` has no effect, so I think either the
minibuffer really needs to behave like any other buffer, or
special-cased and documented the ways it differs from regular buffers.
I have this code in my init.el, and it doesn't seem to work.
(defun ido-resurrect-keybinding ()
(pcase-dolist (`(,minor-mode . ,keymap)
(seq-filter
(lambda (entry) (symbol-value (car entry)))
minor-mode-map-alist))
(cl-loop for buf in (buffer-list)
if (and (minibufferp buf)
(with-current-buffer buf
(symbol-value minor-mode)))
do
(map-keymap
(lambda (event def)
(when-let (key (and (or (characterp event)
(and (symbolp event)
(not (eq event 'remap))
(not (keymapp def))))
(if (characterp event)
(format "%c" event)
(vector event))))
(when (lookup-key ido-completion-map key)
(let ((map (copy-keymap keymap)))
(define-key map key nil)
(with-current-buffer buf
(push (cons minor-mode map)
minor-mode-overriding-map-alist))))))
keymap))))
(with-eval-after-load 'ido
(add-hook 'ido-setup-hook 'ido-resurrect-keybinding))
next prev parent reply other threads:[~2021-05-05 9:10 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-02 6:58 bug#48153: 28.0.50; minor mode keymaps should not override keymap given to read-from-minibuffer Jimmy Yuen Ho Wong
2021-05-03 15:15 ` Gregory Heytings
2021-05-04 12:53 ` Jimmy Yuen Ho Wong
2021-05-04 13:13 ` Gregory Heytings
2021-05-04 13:52 ` Jimmy Yuen Ho Wong
2021-05-04 14:02 ` Gregory Heytings
2021-05-04 14:29 ` Gregory Heytings
2021-05-04 16:15 ` Jimmy Yuen Ho Wong
2021-05-04 16:36 ` Gregory Heytings
2021-05-04 22:40 ` Jimmy Yuen Ho Wong
2021-05-05 8:09 ` Gregory Heytings
2021-05-05 9:10 ` Jimmy Yuen Ho Wong [this message]
2021-05-05 12:15 ` Eli Zaretskii
2021-05-05 13:12 ` Gregory Heytings
2021-05-05 13:24 ` Jimmy Yuen Ho Wong
2021-05-05 14:17 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-05-06 10:55 ` Jimmy Yuen Ho Wong
2021-05-09 14:57 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-05-05 13:06 ` Gregory Heytings
2021-05-05 14:05 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
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=CAKDRQS6u1VjbZRZCpz8mXwGq9qWi0O+MwPB0HStS7Z60KDTfkQ@mail.gmail.com \
--to=wyuenho@gmail.com \
--cc=48153@debbugs.gnu.org \
--cc=gregory@heytings.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).