Subject: bug#36745: 27.0.50; completing-read with require-match nil does not accept spaces

From: Drew Adams <[email-masked]>
Date: Sat, 20 Jul 2019 21:52:37 +0000 (UTC)

> > FWIW: By default, both `?' and `SPC' are
> > self-inserting for completion in Icicles
> > (and have been since 2004).

(I should have said 2005.)

> > But this is configurable, with option
> > `icicle-completion-key-bindings'.
> 
> That is interesting. Thank you.
> 
> I have found that various completion libraries are
> re-using the completing-read when necessary, so I
> have to stick with completing-read for now, to
> keep it minimal, and later customizable.

(When global minor mode `icy-mode' is on, ordinary
`completing-read' automatically gives you Icicles
completion.  When the mode is off, it gives you
the vanilla Emacs behavior.)

But the point was not that you should use Icicles
to get this behavior.  The point was that vanilla
Emacs should offer it also.

I suggested this long ago.  After some time, at
least file-name completion was changed to let
`SPC' self-insert.

One can hope that at some point users will get
similar behavior, by default, for other completion
keymaps, not just for file names.

While waiting, you can bind `SPC' yourself to
`self-insert-command' or whatever else you want,
in any of the minibuffer keymaps.  For example,
bind it in `minibuffer-local-completion-map' and
`minibuffer-local-must-match-map'.
____

Some old mails about letting `SPC', `?', and `C-j'
self-insert by default during completion:

https://lists.gnu.org/archive/html/emacs-devel/2014-04/msg00246.html

https://lists.gnu.org/archive/html/emacs-devel/2014-11/msg01521.html

https://lists.gnu.org/archive/html/emacs-devel/2009-11/msg01045.html

https://lists.gnu.org/archive/html/emacs-devel/2007-06/msg01810.html

https://lists.gnu.org/archive/html/emacs-devel/2005-11/msg00245.html