unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
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))





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