GNU bug report logs - #58912
29.0.50; set-face-attribute call in init.el has no lasting effect

Previous Next

Package: emacs;

Reported by: Dmitry Gutov <dgutov <at> yandex.ru>

Date: Mon, 31 Oct 2022 00:45:02 UTC

Severity: normal

Merged with 59271, 59283

Found in version 29.0.50

Done: Po Lu <luangruo <at> yahoo.com>

Bug is archived. No further changes may be made.

Full log


Message #38 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> linkov.net>
To: Po Lu via "Bug reports for GNU Emacs, the Swiss army knife of text
 editors" <bug-gnu-emacs <at> gnu.org>
Cc: Po Lu <luangruo <at> yahoo.com>, Eli Zaretskii <eliz <at> gnu.org>,
 58912 <at> debbugs.gnu.org, Dmitry Gutov <dgutov <at> yandex.ru>
Subject: Re: bug#58912: 29.0.50; set-face-attribute call in init.el has no
 lasting effect
Date: Tue, 01 Nov 2022 19:34:40 +0200
I have the same problem.

GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.20, cairo version 1.16.0)

$ xrdb -query
emacs.font:	DejaVu Sans Mono-12

/tmp/test.el:
(custom-set-faces
 '(default ((t (:family "DejaVu Sans Mono" :foundry "PfEd" :slant normal :weight normal :height 120 :width normal)))))

emacs -Q -nbc -l /tmp/test.el
shows incorrect font

font-use-system-font
=> nil

(face-attribute 'default :font (selected-frame) 'default)
#<font-object "-PfEd-DejaVu Sans Mono-regular-normal-normal-*-13-*-*-*-m-0-ISO10646-1">

but after applying the following patch I get correct fonts:

(face-attribute 'default :font (selected-frame) 'default)
#<font-object "-PfEd-DejaVu Sans Mono-regular-normal-normal-*-16-*-*-*-m-0-iso10646-1">

diff --git a/src/xsettings.c b/src/xsettings.c
index 15e7ff54995..403117f8271 100644
--- a/src/xsettings.c
+++ b/src/xsettings.c
@@ -806,9 +806,7 @@ read_settings (Display_Info *dpyinfo, struct xsettings *settings)
 apply_xft_settings (Display_Info *dpyinfo,
                     struct xsettings *settings)
 {
-#if defined HAVE_XFT					\
-  || (defined USE_CAIRO && defined CAIRO_HAS_FC_FONT	\
-      && defined CAIRO_HAS_FT_FONT)
+#if defined HAVE_XFT
   FcPattern *pat;
   struct xsettings oldsettings;
   bool changed = false;




This bug report was last modified 2 years and 185 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.