From: Stephen Berman <stephen.berman@gmx.net>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: emacs-devel@gnu.org
Subject: Re: [Emacs-diffs] emacs-25 d7084f2: Fix todo-mode use of minibuffer completion keymap (bug#23695).
Date: Wed, 15 Jun 2016 17:09:53 +0200 [thread overview]
Message-ID: <87d1nixzcu.fsf@gmx.net> (raw)
In-Reply-To: <jwv60tak34e.fsf-monnier+gmane.emacs.devel@gnu.org> (Stefan Monnier's message of "Wed, 15 Jun 2016 09:16:22 -0400")
On Wed, 15 Jun 2016 09:16:22 -0400 Stefan Monnier <monnier@iro.umontreal.ca> wrote:
>>>> - (let ((map minibuffer-local-completion-map))
>>>> - (define-key map " " nil)
>>>> + (let ((minibuffer-local-completion-map
>>>> + (copy-keymap minibuffer-local-completion-map)))
>>>> + (define-key minibuffer-local-completion-map " " 'self-insert-command)
>>> Why bind it to `self-insert-command` rather than to nil?
>> Is that a general recommendation,
>> e.g. to make the `?' key insert `?' in the minibuffer also bind it to
>> nil?
>
> The question is: do you want to hide the "SPC is completion" binding, or
> do you want to force SPC to insert a space.
>
>> I guess that answers the question.)
>
> Right, IMO what we want here is to hide the "SPC is completion" binding.
> Also, the old code used nil (as can be seen in the chunk of patch still
> quoted above).
Ok. I suppose that's also the case for most or all of the other
packages that bind SPC to self-insert-command in the minibuffer, so they
should probably also be changed in due course.
>> Are you saying it is generally better to use the latter?
>
> Yes, it's more efficient.
>
>> If so, when is it better to use the former?
>
> Never. Copying is a bad idea.
Then shouldn't copy-keymap be obsoleted (or at least deprecated, also in
the documentation) and existing uses in Emacs changed?
I'll revert the key binding to nil. I assume it's also all right to
replace the use of copy-keymap by set-keymap-parent in emacs-25, since
copy-keymap was just introduced as a fix there by this commit, but I'll
wait for explicit approval (Eli, John W?).
Thanks.
Steve Berman
next prev parent reply other threads:[~2016-06-15 15:09 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20160614214332.2901.16184@vcs.savannah.gnu.org>
[not found] ` <20160614214332.C030F220116@vcs.savannah.gnu.org>
2016-06-15 2:12 ` [Emacs-diffs] emacs-25 d7084f2: Fix todo-mode use of minibuffer completion keymap (bug#23695) Stefan Monnier
2016-06-15 9:42 ` Stephen Berman
2016-06-15 13:16 ` Stefan Monnier
2016-06-15 15:09 ` Stephen Berman [this message]
2016-06-15 15:19 ` Eli Zaretskii
2016-06-15 17:31 ` John Wiegley
2016-06-15 18:10 ` Stephen Berman
2016-06-16 3:04 ` Noam Postavsky
2016-06-16 9:11 ` Stephen Berman
2016-06-15 15:23 ` Generalizing make-composed-keymap (was: [Emacs-diffs] emacs-25 d7084f2: Fix todo-mode use of minibuffer completion keymap (bug#23695).) Stefan Monnier
2016-06-15 15:34 ` Generalizing make-composed-keymap Clément Pit--Claudel
2016-06-15 15:41 ` Stefan Monnier
2016-06-15 15:37 ` [Emacs-diffs] emacs-25 d7084f2: Fix todo-mode use of minibuffer completion keymap (bug#23695) Stefan Monnier
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87d1nixzcu.fsf@gmx.net \
--to=stephen.berman@gmx.net \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
/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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.