Subject: bug#31459: 25.3; Uninitialised unicode-property-table-internal

From: Eli Zaretskii <[email-masked]>
Date: Tue, 15 May 2018 12:34:36 +0300

On May 15, 2018 11:50:54 AM GMT+03:00, Peter <[email-masked]> wrote:
> I've run into the following bug with Emacs GNU Emacs 25.3.1
> (x86_64-pc-linux-gnu, GTK+ Version 3.22.26) of 2018-02-09:
> 
> When starting up a new Emacs with `emacs -Q', running the following
> elisp results in garbage:
> 
> (let ((names (unicode-property-table-internal 'name)))
>   (message "%s" (get-unicode-property-internal names #x1f600))
>   ;; grinning face emoji, should return "GRINNING FACE"
>   )
> 
> This does not in fact show "GRINNING FACE", but what seems like a
> random
> string, e.g. (after string-to-list):
> (0 1805 140 1 3 534 447 0 140 3 1804 64 1314 0 534 140 3 104 429 1 85
> 9 534 447 1 104 1279 1056 2 1803 6 266 447 1 58 3455 1 52 1802 0 1801
> 140 0 534 140 3 534 447 0 140 3454 3453 1302 0 1800 140 0 534 140 3
> 314 6 672 447 1 55 1811 0 3452 46 46 46 46)
> 
> *After* I run M-x counsel-unicode-char, things work fine.
> 
> It seems that the unicode property table is somehow uninitialised
> initially, and gets initialised by something that counsel-unicode-char
> does. Is there a way I can run this initialisation myself? I've looked
> at the elisp and C sources, but haven't been able to find what I'm
> doing incorrectly here :-/
> 
> Thanks for any help with this!
> 
> Greetings, Peter
> 
> 
> 
> In GNU Emacs 25.3.1 (x86_64-pc-linux-gnu, GTK+ Version 3.22.26)
>  of 2018-02-09 built on bisson
> Windowing system distributor 'The X.Org Foundation', version
> 11.0.11906000
> Configured using:
>  'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
>  --localstatedir=/var --with-x-toolkit=gtk3 --with-xft --with-modules
> 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe
> -fstack-protector-strong
>  -fno-plt' CPPFLAGS=-D_FORTIFY_SOURCE=2
>  LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'
> 
> Configured features:
> XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF GSETTINGS
> NOTIFY ACL GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
> TOOLKIT_SCROLL_BARS GTK3 X11 MODULES
> 
> Important settings:
>   value of $LANG: en_GB.UTF-8
>   locale-coding-system: utf-8-unix

Why are you using an internal function instead of get-char-code-property?