Subject: bug#46240: Sorting order of read-char-by-name

From: Eli Zaretskii <[email-masked]>
Date: Mon, 01 Feb 2021 19:41:07 +0200

> From: Juri Linkov <[email-masked]>
> Date: Mon, 01 Feb 2021 19:23:41 +0200
> 
> After typing e.g. 'C-x 8 RET GREEK TAB' completions are sorted in an
> non-alphabetical order:
> 
> Ͳ	GREEK CAPITAL LETTER ARCHAIC SAMPI
> Β	GREEK CAPITAL LETTER BETA
> Χ	GREEK CAPITAL LETTER CHI
> Ϯ	GREEK CAPITAL LETTER DEI
> Δ	GREEK CAPITAL LETTER DELTA
> 
> where the 22nd letter of the Greek alphabet CHI is between BETA and DELTA.
> This is because currently completions are sorted by English names.
> 
> The following patch sorts them by their Unicode order that mostly follows
> the alphabetical order, and at least makes more sense to be consistent
> with Unicode tables where characters are grouped more logically.

This has 2 disadvantages:

  . the user needs to know the order of characters within a script
    he/she doesn't necessarily read
  . the user needs to know the order _between_ scripts, if the
    candidates include characters from different Unicode blocks

If the user doesn't know this order, he/she might be unable to find
the required character quickly, if the list of candidates is long
enough.

The current order, while it doesn't follow the order of the characters
within the script, makes it very easy to find the character for anyone
who knows English (more generally, Latin) alphabet.  So I'm not sure
the proposed change is necessarily for the better, at least not in all
the use cases.