Subject: bug#30539: 26.0; `char-displayable-p' is much slower in Emacs 25 and 26

From: Drew Adams <[email-masked]>
Date: Thu, 22 Feb 2018 20:07:09 -0800 (PST)

> > Is this a bug that is likely to get fixed?
> 
> Unfortunately, no, I don't think so (at least not soon).  My
> understanding is that this inhibit-compacting-font-caches variable is
> due to several mysterious font bugs with different users needing
> different settings to work around them, and there isn't anyone who has a
> good idea of how to sort it out.
> 
> > Another question is whether this bug should/will affect all
> > users or only some?  If the latter then I can let users
> > decide whether to test `char-displayable-p' (I have an
> > option for that anyway) or whether to bind
> > `inhibit-compacting-font-caches to `t'.  If only some users
> > are affected by the bug, do we know why?  Does it have to
> > do with the fonts they have installed, for example?
> 
> Well, as I mentioned, I don't see it on my GNU/Linux box, so it's not
> universal.  I would guess the fonts installed is the main factor.

I googled a bit for that variable, and there are a bunch of
Emacs bugs and other posts about it.  Seems like (to be
confirmed) it is a problem only for MS Windows (?), and
maybe only for TrueType fonts (?).

And it seems like lots of folks run into it (though others
do not), so that lots of people (particularly with CJK
fonts?) are just systematically setting the variable to t.

I do wonder what the best approach is for my library.  If
I knew that the problem didn't exist for non-Windows that
would let me at least remove non-Windows from cases where
I try to do something.  I'll probably make the code, when
on Windows, by default use a non-nil value of the var by
default (e.g. as an option default value).  But it would be
good to know more about the cases where the problem can arise.