all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Alexander Shukaev <emacs@Alexander.Shukaev.name>
To: Robert Pluim <rpluim@gmail.com>, Andreas Schwab <schwab@linux-m68k.org>
Cc: 43177@debbugs.gnu.org
Subject: bug#43177: Bug: Emacs 27.1 hangs forever in `FcCharSetSubtractCount' from '/usr/lib/libfontconfig.so.1'
Date: Thu, 3 Sep 2020 21:47:41 +0200	[thread overview]
Message-ID: <d9fdebd8-989e-ee31-eb16-f9f1dcf4d55d@Alexander.Shukaev.name> (raw)
In-Reply-To: <237d1b4a-4f7c-20e2-1b40-f406eadb2d0f@Alexander.Shukaev.name>

On 03/09/2020 18:39, Alexander Shukaev wrote:
> On 03/09/2020 17:10, Robert Pluim wrote:
>>>>>>> On Thu, 03 Sep 2020 16:48:04 +0200, Andreas Schwab 
>>>>>>> <schwab@linux-m68k.org> said:
>>
>>      Andreas> On Sep 03 2020, Robert Pluim wrote:
>>      >> Does it go away if you set font-backend . ftcrhb in your frame
>>      >> parameters (assuming youʼre using Cairo)?
>>
>>      Andreas> That completely removes the delay.
>>
>> So the solution is easy: just deprecate and remove the 'x' backend :-)
>>
>> Robert
>>
> 
> Love that tip, man!  Confirming the speed up.  Thanks a lot!

For future visitors and for completeness sake, my per-frame font setup 
function now looks like this:

   (defun init-frame-font-setup
       (&optional frame)
     (unless frame (setq frame (selected-frame)))
     (with-selected-frame frame
       (when (and (not noninteractive) (init-display-graphic-p))
         (let ((font-backend (assoc 'font-backend default-frame-alist)))
           (if font-backend
               (when (eq frame frame-initial-frame)
                 (modify-frame-parameters frame
                                          `((font-backend . ,font-backend)))
                 (unless noninteractive
                   (message "Font Backend: `%s'" font-backend)))
             (when (and (> emacs-major-version 26)
                        (boundp 'cairo-version-string))
               (setq font-backend "ftcrhb"))
             (when font-backend
               (add-to-list 'default-frame-alist
                            `(font-backend . ,font-backend))
               (modify-frame-parameters frame
                                        `((font-backend . ,font-backend)))
               (unless noninteractive
                 (message "Font Backend: `%s'" font-backend)))))
         (let ((font (assoc 'font default-frame-alist)))
           (if font
               (when (eq frame frame-initial-frame)
                 (set-frame-font font t t)
                 (unless noninteractive
                   (message "Font: `%s'" font)))
             (let ((font-family (catch 'break
                                  (dolist (font-family init-font-families)
                                    (when (member font-family
                                                  (font-family-list))
                                      (throw 'break font-family))))))
               (setq font (when font-family
                            (format "%s-%d" font-family init-font-size))))
             (when font
               (add-to-list 'default-frame-alist `(font . ,font))
               (set-frame-font font t t)
               (unless noninteractive
                 (message "Font: `%s'" font))))))))

Typical usage is to add the following stanza to Emacs Lisp 
initialization file(s):


   (unless (or noninteractive (daemonp))
     (when (init-display-graphic-p)
       (init-frame-font-setup)))

   (dolist (hook '(after-make-frame-functions focus-in-hook))
     (add-hook hook #'init-frame-font-setup))





  reply	other threads:[~2020-09-03 19:47 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-03  7:18 bug#43177: Bug: Emacs 27.1 hangs forever in `FcCharSetSubtractCount' from '/usr/lib/libfontconfig.so.1' Alexander Shukaev
2020-09-03  7:28 ` Robert Pluim
2020-09-03  7:42   ` Pip Cet
2020-09-03  8:50     ` Alexander Shukaev
2020-09-03  8:51   ` Alexander Shukaev
2020-09-03  9:02     ` Alexander Shukaev
2020-09-03  9:07       ` Robert Pluim
2020-09-03  9:40         ` Alexander Shukaev
2020-09-03  9:50           ` Alexander Shukaev
2020-09-03  9:53             ` Alexander Shukaev
2020-09-03 10:06               ` Robert Pluim
2020-09-03 10:24                 ` Alexander Shukaev
2020-09-03 12:13                   ` Robert Pluim
2020-09-03 12:28                     ` Alexander Shukaev
2020-09-03 12:43                       ` Robert Pluim
2020-09-03 12:52                         ` Andreas Schwab
2020-09-03 13:19                           ` Robert Pluim
2020-09-03 13:28                             ` Andreas Schwab
2020-09-03 14:21                               ` Robert Pluim
2020-09-03 14:48                                 ` Andreas Schwab
2020-09-03 15:10                                   ` Robert Pluim
2020-09-03 16:39                                     ` Alexander Shukaev
2020-09-03 19:47                                       ` Alexander Shukaev [this message]
2020-09-04  6:54                                         ` Eli Zaretskii
2020-09-03 17:37                                     ` Eli Zaretskii
2020-09-03 17:51                                       ` Andreas Schwab
2020-09-03 18:24                                         ` Eli Zaretskii
2020-09-04  7:45                                           ` Robert Pluim
2020-09-04 12:22                                             ` Eli Zaretskii
2020-09-04 13:05                                               ` Robert Pluim
2020-09-04 13:30                                                 ` Eli Zaretskii
2020-09-04 14:04                                                   ` Robert Pluim
2020-09-04 17:26                                                     ` Eli Zaretskii
2020-09-07 14:18                                                       ` Robert Pluim
2020-09-07 14:41                                                         ` Pip Cet
2020-09-07 14:48                                                           ` Robert Pluim
2020-09-07 14:49                                                         ` Eli Zaretskii
2020-09-07 15:06                                                           ` Robert Pluim
2020-09-15 15:40                                                             ` Robert Pluim
2020-09-03  9:58           ` Robert Pluim
2020-09-03 13:19             ` Eli Zaretskii
2020-09-03 14:03               ` Robert Pluim
     [not found] ` <handler.43177.B.159911754532334.ack@debbugs.gnu.org>
2020-09-03  7:30   ` bug#43177: Acknowledgement (Bug: Emacs 27.1 hangs forever in `FcCharSetSubtractCount' from '/usr/lib/libfontconfig.so.1') Alexander Shukaev
2020-09-03  8:43   ` Alexander Shukaev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d9fdebd8-989e-ee31-eb16-f9f1dcf4d55d@Alexander.Shukaev.name \
    --to=emacs@alexander.shukaev.name \
    --cc=43177@debbugs.gnu.org \
    --cc=rpluim@gmail.com \
    --cc=schwab@linux-m68k.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.