GNU bug report logs - #59184
29.0.50; customization of faces has to be re-done for each new frame

Previous Next

Package: emacs;

Reported by: sds <at> gnu.org

Date: Thu, 10 Nov 2022 19:18:01 UTC

Severity: normal

Found in version 29.0.50

Done: Stefan Kangas <stefankangas <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 59184 in the body.
You can then email your comments to 59184 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#59184; Package emacs. (Thu, 10 Nov 2022 19:18:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to sds <at> gnu.org:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Thu, 10 Nov 2022 19:18:02 GMT) Full text and rfc822 format available.

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

From: Sam Steingold <sds <at> gnu.org>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.0.50; customization of faces has to be re-done for each new frame
Date: Thu, 10 Nov 2022 14:17:34 -0500
Save the following into test.el

--8<---------------cut here---------------start------------->8---
(custom-set-variables
 '(custom-enabled-themes '(modus-vivendi)))

(custom-set-faces
 '(fringe
   ((((class color) (background dark)) (:background "gold")))))
--8<---------------cut here---------------end--------------->8---

and run `emacs -Q -l test.el`

The screen is dark (because of the dark theme) and the fringes are gold
(because of the face customization).

Now C-x 5 2 (make-frame-command) creates a new frame which is also dark,
as expected, but the fringes a no longer gold - they are dark gray as
per the theme.

If I re-evaluate the `custom-set-faces' form in the original frame (where
the fringes are already gold), the fringes in the new frame become gold
also.

However, a new `make-frame-command' creates a frame with gray fringes.

This does _not_ happen without `custom-enabled-themes'.

Apparently, the theme overrides my customizations.
I hope this is not intentional: "50.1.7 Custom Themes" says:

> Any customizations that you make through the customization buffer
> take precedence over theme settings

Thank you.

-Sam.

In GNU Emacs 29.0.50 (build 2, x86_64-apple-darwin21.6.0, NS
 appkit-2113.60 Version 12.6.1 (Build 21G217)) of 2022-11-07 built on
 3c22fb11fdab.ant.amazon.com
Repository revision: d04433b96215d7d3387573f19cc315de86f2341a
Repository branch: master
Windowing system distributor 'Apple', version 10.3.2113
System Description:  macOS 12.6.1

Configured using:
 'configure --with-imagemagick --with-mailutils --with-ns
 PKG_CONFIG_PATH='

Configured features:
ACL GIF GMP GNUTLS IMAGEMAGICK JPEG JSON LCMS2 LIBXML2 MODULES NOTIFY
KQUEUE NS PDUMPER PNG SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS WEBP XIM
ZLIB

Important settings:
  value of $LANG: C
  locale-coding-system: utf-8-unix

Major mode: Org

Minor modes in effect:
  pyvenv-mode: t
  flyspell-mode: t
  display-fill-column-indicator-mode: t
  shell-dirtrack-mode: t
  global-edit-server-edit-mode: t
  winner-mode: t
  which-function-mode: t
  url-handler-mode: t
  desktop-save-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  column-number-mode: t
  line-number-mode: t
  auto-fill-function: yas--auto-fill
  transient-mark-mode: (only)
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  abbrev-mode: t

Load-path shadows:
None found.

Features:
(shadow emacsbug quail edmacro kmacro nndoc inf-lisp tabify url-http
url-gw url-cache url-auth clhs smtpmail rot13 bbdb-message mailalias
cookie1 markdown-mode cal-move org-element avl-tree ol-eww ol-rmail
ol-mhe ol-irc ol-info ol-gnus nnselect ol-docview doc-view filenotify
jka-compr image-mode exif ol-bibtex ol-bbdb ol-w3m ol-doi org-link-doi
org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote
org-src ob-comint org-pcomplete org-list org-faces org-entities
org-version ob-emacs-lisp ob-core ob-eval org-table oc-basic bibtex ol
org-keys oc org-compat org-macs org-loaddefs cal-x cal-china cal-bahai
cal-islam holidays holiday-loaddefs bbdb-anniv cal-iso cal-hebrew lunar
cal-julian solar cal-dst appt diary-lib diary-loaddefs cal-menu calendar
cal-loaddefs flow-fill descr-text dash company-oddmuse company-keywords
company-etags company-gtags company-dabbrev-code company-dabbrev
company-files company-clang company-template company-cmake company-bbdb
yasnippet-snippets yasnippet flymake-proc flymake company-capf company
elpy elpy-rpc pyvenv eshell esh-cmd esh-ext esh-opt esh-proc esh-io
esh-arg esh-module esh-groups esh-util elpy-shell elpy-profile
elpy-django s elpy-refactor ido hideshow grep etags fileloop generator
xref python project compat compat-macs view dired-aux package log-edit
noutline outline mhtml-mode css-mode eww xdg url-queue thingatpt mm-url
color js cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align
cc-engine cc-vars cc-defs sgml-mode facemenu mm-archive sort smiley
gnus-cite textsec uni-scripts idna-mapping uni-confusable textsec-check
gnus-bcklg qp gnus-async gnus-dup mail-extr gnus-ml hl-line disp-table
spam spam-stat gnus-uu yenc nndraft nnmh gnus-agent gnus-srvr gnus-score
score-mode nnvirtual gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime
smime dig utf-7 gnus-cache gnus-sum shr pixel-fill kinsoku url-file svg
dom browse-url url url-proxy url-privacy url-expand url-methods
url-history url-cookie generate-lisp-file url-domsuf url-util bbdb-gnus
gnutls network-stream nsm nntp gnus-group gnus-undo cl-print tramp-cmds
gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail mail-source utf7
nnoo gnus-spec gnus-int gnus-range message sendmail mailcap yank-media
puny rfc822 mml mml-sec epa derived epg rfc6068 epg-config mm-decode
mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums
gmm-utils mailheader gnus-win misearch multi-isearch bug-reference
shortdoc help-fns radix-tree apropos dabbrev skeleton smerge-mode diff
vc-src vc-sccs vc-svn vc-cvs vc-rcs log-view pcvs-util vc-dir ewoc vc
add-log vc-hg vc-bzr tramp-cache time-stamp tramp-sh tramp
tramp-loaddefs trampver tramp-integration cus-start files-x tramp-compat
rx parse-time iso8601 ls-lisp format-spec remember cl-extra sh-script
smie executable flyspell ispell display-fill-column-indicator tex-mode
compile shell pcomplete comint ansi-osc ansi-color vc-git diff-mode
easy-mmode vc-dispatcher midnight dired dired-loaddefs cus-edit pp
warnings icons gnus nnheader gnus-util text-property-search time-date
mail-utils range mm-util mail-prsvr wid-edit bbdb-mua bbdb-com crm
mailabbrev bbdb bbdb-site timezone modus-vivendi-theme modus-themes
pcase edit-server advice server winner ring which-func imenu edebug
debug backtrace help-mode find-func url-handlers url-parse auth-source
cl-seq eieio eieio-core cl-macs password-cache json subr-x map byte-opt
gv bytecomp byte-compile url-vars help-at-pt desktop frameset
cl-loaddefs cl-lib cus-load info fb2-reader-autoloads async-autoloads
f-autoloads ein-autoloads bbdb-autoloads yaml-mode-autoloads
dash-autoloads with-editor-autoloads yasnippet-snippets-autoloads
compat-autoloads markdown-mode-autoloads websearch-autoloads
elpy-autoloads s-autoloads company-autoloads polymode-autoloads
edit-server-autoloads request-autoloads rmc iso-transl tooltip cconv
eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type
elisp-mode mwheel term/ns-win ns-win ucs-normalize mule-util
term/common-win tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode lisp-mode prog-mode register
page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer nadvice seq simple cl-generic indonesian philippine
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget keymap hashtable-print-readable backquote
threads kqueue cocoa ns lcms2 multi-tty make-network-process emacs)

Memory information:
((conses 16 850919 173155)
 (symbols 48 55886 11)
 (strings 32 356317 55890)
 (string-bytes 1 8996090)
 (vectors 16 120399)
 (vector-slots 8 2935659 221812)
 (floats 8 1387 1239)
 (intervals 56 26070 5188)
 (buffers 984 70))

-- 
Sam Steingold (https://aphar.dreamwidth.org/) on darwin Ns 10.3.2113
https://lastingimpactpsychology.com https://steingoldpsychology.com
https://mideasttruth.com https://thereligionofpeace.com https://jihadwatch.org
Never succeed from the first try - if you do, nobody will think it was hard.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#59184; Package emacs. (Sun, 16 Jul 2023 13:43:01 GMT) Full text and rfc822 format available.

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

From: Mauro Aranda <maurooaranda <at> gmail.com>
To: 59184 <at> debbugs.gnu.org
Cc: Sam Steingold <sds <at> gnu.org>
Subject: Re: bug#59184: 29.0.50; customization of faces has to be re-done for
 each new frame
Date: Sun, 16 Jul 2023 10:42:30 -0300
Sam Steingold <sds <at> gnu.org> writes:

> Save the following into test.el
>
> (custom-set-variables
>  '(custom-enabled-themes '(modus-vivendi)))
>
> (custom-set-faces
>  '(fringe
>    ((((class color) (background dark)) (:background "gold")))))
>
> and run `emacs -Q -l test.el`
>
> The screen is dark (because of the dark theme) and the fringes are gold
> (because of the face customization).
>
> Now C-x 5 2 (make-frame-command) creates a new frame which is also dark,
> as expected, but the fringes a no longer gold - they are dark gray as
> per the theme.

I can reproduce it in Emacs 28, but not in the emacs-29 branch, or
master.  Does anybody know if this got fixed?






Reply sent to Stefan Kangas <stefankangas <at> gmail.com>:
You have taken responsibility. (Sat, 02 Sep 2023 22:10:02 GMT) Full text and rfc822 format available.

Notification sent to sds <at> gnu.org:
bug acknowledged by developer. (Sat, 02 Sep 2023 22:10:02 GMT) Full text and rfc822 format available.

Message #13 received at 59184-done <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefankangas <at> gmail.com>
To: Mauro Aranda <maurooaranda <at> gmail.com>, 59184-done <at> debbugs.gnu.org
Cc: Sam Steingold <sds <at> gnu.org>
Subject: Re: bug#59184: 29.0.50; customization of faces has to be re-done for
 each new frame
Date: Sat, 2 Sep 2023 15:09:15 -0700
Mauro Aranda <maurooaranda <at> gmail.com> writes:

> Sam Steingold <sds <at> gnu.org> writes:
>
>  > Save the following into test.el
>  >
>  > (custom-set-variables
>  >  '(custom-enabled-themes '(modus-vivendi)))
>  >
>  > (custom-set-faces
>  >  '(fringe
>  >    ((((class color) (background dark)) (:background "gold")))))
>  >
>  > and run `emacs -Q -l test.el`
>  >
>  > The screen is dark (because of the dark theme) and the fringes are gold
>  > (because of the face customization).
>  >
>  > Now C-x 5 2 (make-frame-command) creates a new frame which is also dark,
>  > as expected, but the fringes a no longer gold - they are dark gray as
>  > per the theme.
>
> I can reproduce it in Emacs 28, but not in the emacs-29 branch, or
> master.  Does anybody know if this got fixed?

More information was requested, but none was given within 3 months, so
I'm closing this bug.  If this is still an issue, please reply to this
email (use "Reply to all" in your email client) and we can reopen the
bug report.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 01 Oct 2023 11:24:30 GMT) Full text and rfc822 format available.

This bug report was last modified 200 days ago.

Previous Next


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