Eli Zaretskii <
address@hidden> schrieb am So., 6. März 2016 um 16:54 Uhr:
> From: Philipp Stephani <address@hidden>
> Date: Sun, 06 Mar 2016 15:24:47 +0000
>
> I've attached a patch with an initial implementation.
Thanks.
> +/* Hash table that maps Unicode character names to code points. */
> +static Lisp_Object character_names;
> +
> +/* Length of the longest Unicode character name, in bytes. */
> +static ptrdiff_t max_character_name_length;
> +
> +/* Initializes `character_names' and `max_character_name_length'.
> + Called by `read_escape'. */
I wonder if there's a better way, in particular with a smaller memory
footprint. Doesn't map-char-table work well enough to avoid
generating all the names up front?
It doesn't seem to work; for some reason the Unicode name table appears very small (only 136 code points) when map-char-table is called from C and lacks most characters.
> + if (! RANGED_INTEGERP (0, code, 0x10FFFF))
This should use MAX_UNICODE_CHAR.
Done, attached a new patch.