> It will be wonderful if ucs-insert shows the characters > visually in the completion buffer. FWIW, Icicles has had that feature for quite a while. The attached screenshot shows also what happens when cycling: *Completions* mode line shows the char with its code point. ,---- | icicle-read-char-by-name is a compiled Lisp function. | | (icicle-read-char-by-name PROMPT &optional NAMES) | | Read a character by its Unicode name or hex number string. | Display PROMPT and read a string that represents a character by its | Unicode property `name' or `old-name'. Return the char as a number. | | You can use completion against the Unicode name of the character. | | In Icicle mode: | | * The character itself is displayed next to its name, even though it | is not part of the completion candidate. WYSIWYG. | | * When you cycle among candidates, the current character and its | Unicode code point are shown in the mode line (provided user option | `icicle-help-in-mode-line-delay' is greater than zero.) | | If you use a dedicated `*Completions*' frame, then the font used in | `*Completions*' is the same as the frame from which you invoked | completion. | | If you use library `doremi-frm.el' then you can increase the font size | for `*Completions*' dynamically using `C-x -'. | | As an alternative to completing the Unicode name, you can input a | number for the Unicode code point: a hexidecimal number or a number in | hash notation: #o21430 for octal, #x2318 for hex, or #10r8984 for | decimal. | | Non-nil optional arg NAMES is an alist of names to use in place of the | value returned by `icicle-ucs-names'. It must have the same form as | such a return value: (CHAR-NAME . CHAR-CODE). `----