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

From: Drew Adams <[email-masked]>
Date: Sun, 21 Jul 2019 00:04:42 +0000 (UTC)

> So far I understand, icicle is some external
> library?

Yes, but it's not important to my point about
the subject of this bug.  I mentioned it to
say that (1) the behavior you said you're
looking for (a) is easily made available and
(b) has existed for a long time in external
libraries, and (2) has already been suggested
for vanilla Emacs, several times in the past,
to no avail.

I'm glad you've filed the bug, to bring up
the question again, but don't necessarily
expect more success now.  (I hope the request
does succeed.)

But you're apparently also OK with having the
doc just remind users that they can input a
space char using `C-q SPC'.

My suggestion is rather that Emacs completion
be "fixed" (enhanced), to - by default - let
`SPC' itself insert a space char, i.e., be
bound to `self-insert-command' or similar.

Users can always change the key binding,
regardless of the default behavior, but many
will not think to do so, even if they might
prefer to have `SPC' self-insert rather than
perform a particular kind of completion
(`minibuffer-complete-word').

As for having the doc for `completing-read'
mention using `C-q' to insert a space char:
OK, but (1) that behavior of `C-q' is general;
it may be particularly helpful during
completion but its use is not limited to that,
and (2) it's not just `SPC'; it's also `?' and
`C-j' (newline).

Certainly the need to insert a newline char
during completion is less common than the need
to insert a space char or a `?' char.  But
those 3 are in the same boat, IMO: They are
keys that normally insert printable chars, and
they are the only such that do not, by default,
self-insert during completion.