Subject: bug#36454: 26.2.90; feature request - Insert char by hex tab completion or C-x 8 RET ffe <TAB>

From: Drew Adams <[email-masked]>
Date: Thu, 18 Jul 2019 20:44:46 +0000 (UTC)

> I hope we agree that wading through 170 completion candidates, let
> alone 500, is not very convenient, yes?

No, we don't agree that 500 completion candidates
is a problem.  Of course, it depends on whether
you have a completion UI that lets you easily
narrow that in useful ways. If you don't then
it's less useful/convenient.

> Bottom line: IME completing on digits is rarely useful, unless you
> assume that the user will type almost all of the digits, leaving just
> one or two for completion.  And how probable is it that the user will
> know the codepoint up to 1 or 2 last digits, but will not know the
> entire codepoint?

That repeats what I said (so there is at least
one thing that we perhaps agree about):

  IMO, the main advantage in completing code
  points is not to save typing to enter a char.
  It's to see the char names in `*Completions*'.
  Completing 1 or 2 hex chars, just to save
  typing 3 or 2 more, is not the point.  It's
  about seeing what names match.

  If you just want to insert a char by giving
  its code point, it's not hard to type 4 hex
  chars.  Completion is not really gaining you
  anything for that goal.

Completion is not just an aid for entering input.
It's a way to discover, browse, search, etc. a
set of information.

This is also why we show the char itself and the
code point.  Being able to type text to _match_
any of those bits of info, or any combination of
them, gives you a way to see not only code points
that correspond to names but names that correspond
to code points.  Likewise, names and code points
that correspond to chars themselves.

We're currently showing, in effect, a table of
such correspondences in `*Completions*', but you
can only narrow the table entries by filtering
on names.  It's also useful to be able to filter
on code points.  It's even useful to be able to
type a char and see its name and code point.