bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#19266: 24.4; Font-related window redrawing delays on OS X


From: Kirill Ignatiev
Subject: bug#19266: 24.4; Font-related window redrawing delays on OS X
Date: Tue, 16 Dec 2014 20:35:30 -0500

On 12 December 2014 at 03:06, Eli Zaretskii <eliz@gnu.org> wrote:
> Look up the call chain (best done by setting a breakpoint and looking
> at the backtrace), and you will certainly find a place which decides
> to discard them.  Then comment out or change the code which does that.
>
> ...
>
> Again, look at the backtrace at a breakpoint in cleanup_vector and in
> compact_font_cache_entry.  Isn't there some GC-related function on the
> callstack?  Perhaps post that here, if you cannot figure that out.

The top function is garbage_collect, but whatever leads it to close
the fonts isn't triggered by a manual call to garbage-collect in
emacs.

Also: if the garbage collector isn't wrong, the fact that font
entities are garbage means that it really is okay to close them: they
wouldn't be accessible to all the other code anyway. I don't quite
understand how font_open_entity decides to load a font against using a
cache, but making sure fonts remain accessible to the call path

face_for_char -> fontset_font -> fontset_find_font -> font_open_entity

is probably the thing to do. Setting compact_font_cache_entry to a
noop doesn't seem to do the trick, font_open_entity gets called too
many times anyway, if I'm not mistaken.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]