Subject: bug#68880: 30.0.50; [pgtk] Theme customization is not applied by custom-theme-set-faces until theme is re-enabled

From: Dmitry Gutov <[email-masked]>
Date: Fri, 2 Feb 2024 01:14:12 +0200

To reproduce, put this into .emacs:

(add-hook
   'after-init-hook
   (lambda ()
     (load-theme 'adwaita t)

     (custom-theme-set-faces
      'adwaita
      '(font-lock-comment-face ((t (:foreground "yellow")))))))

Then run emacs -Q.

When the PGTK port is used, the comment face's foreground won't be
yellow. With other ports (e.g. GTK3 or Lucid), it is.

The use of after-init-hook itself it not crucial - you can just as well
enable the theme using 'M-x load-theme' and then evaluate the
custom-theme-set-faces form.

There is some text on the splash screen with font-lock-comment-face
applied, so you should see the effect right away.

In GNU Emacs 30.0.50 (build 333, x86_64-pc-linux-gnu, GTK+ Version
  3.24.38, cairo version 1.18.0) of 2024-02-02 built on potemkin
Repository revision: 71b5d5a9799a37948b2e8cca125a59e2bfb71e96
Repository branch: master
System Description: Ubuntu 23.10

Configured using:
  'configure --with-pgtk'

Configured features:
CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON
LIBOTF LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PGTK PNG RSVG
SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP
XIM GTK3 ZLIB