Subject: Re: bug#30788: 27.0.50; Getting 'char-displayable-p: Invalid hash table rehash size: 1.0' when starting emacs -Q

From: Ulrich Mueller <[email-masked]>
Date: Wed, 14 Mar 2018 18:57:28 +0100

>>>>> On Wed, 14 Mar 2018, Eli Zaretskii wrote:

> Thanks.  So the patch below should fix the problem, I think.  Can you
> test it?

> diff --git a/src/xterm.c b/src/xterm.c
> index c5163aa..7b445e5 100644
> --- a/src/xterm.c
> +++ b/src/xterm.c
> @@ -12411,12 +12411,16 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name)
>          unrequest_sigio (); /* See comment in x_display_ok.  */
>          gtk_init (&argc, &argv2);
>          request_sigio ();
> -        fixup_locale ();
> 
>          g_log_remove_handler ("GLib", id);
> 
>          xg_initialize ();
> 
> +	/* Do this after the call to xg_initialize, because when
> +	   Fontconfig is used, xg_initialize calls its initialization
> +	   function which in some versions of Fontconfig calls setlocale.  */
> +	fixup_locale ();
> +
>          dpy = DEFAULT_GDK_DISPLAY ();
> 
>  #if ! GTK_CHECK_VERSION (2, 90, 0)

This fixes the problem (tested with fontconfig-2.13.0).

Note that it has also been fixed in the fontconfig git repository:
https://cgit.freedesktop.org/fontconfig/commit/?id=923b5be626a6e03fbaeee0b5cd6d0246c2f8f36f