Subject: 27.2; Jump-to-register restoring frame config doesn't honor MacOS dark theme

From: Chris Bernard <[email-masked]>
Date: Tue, 24 May 2022 22:18:26 -0600

Summary: When I save a frameset config to a register and then restore
that registered frameset, the bar(s) at the top of the MacOS windows (emacs
frame(s))
are light despite the MacOS theme being set to dark. (Thanks for taking a
look!)

To reproduce:

0. On MacOS 12.3, use the 'brew' package manager to install emacs with
'$ brew cask install emacs'.

1. Set OS appearance to 'Dark' (System Preferences > General >
Appearance > Dark)

2. Open the emacs app. Notice the OS window bar at the top is dark colored,
like
all the other Mac app windows, as expected.

3. In emacs, C-x r f a  (save the frameset)

4. Then in emacs, C-x r j a  (restore the saved frameset)

5. Notice the problem: now the OS window bar at the top (top of emacs
frame) is light colored when it should still be dark colored.

In GNU Emacs 27.2 (build 1, x86_64-apple-darwin18.7.0, NS appkit-1671.60
Version 10.14.6 (Build 18G95))
 of 2021-11-18 built on builder10-14.lan
Windowing system distributor 'Apple', version 10.3.2113
System Description:  macOS 12.3

Recent messages:
Composing main Info directory...done
Quit
funcall-interactively: Beginning of buffer [7 times]
Mark set
Mark saved where search started [2 times]
C-? is undefined
Quit [3 times]
C-x r j runs the command jump-to-register
Quit
Making completion list...

Configured using:
 'configure --with-ns '--enable-locallisppath=/Library/Application
 Support/Emacs/${version}/site-lisp:/Library/Application
 Support/Emacs/site-lisp' --with-modules'

Configured features:
NOTIFY KQUEUE ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS MODULES
THREADS JSON PDUMPER GMP

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Text

Minor modes in effect:
  projectile-mode: t
  winner-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  override-global-mode: t
  show-paren-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr help-fns radix-tree jka-compr magit-utils crm
misearch multi-isearch emacsbug message rfc822 mml mml-sec epa derived
epg epg-config gnus-util rmail rmail-loaddefs text-property-search
mm-decode mm-bodies mm-encode mailabbrev gmm-utils mailheader init
key-bindings config alchemist alchemist-macroexpand alchemist-company
alchemist-help alchemist-complete company-dabbrev-code company-dabbrev
alchemist-refcard alchemist-phoenix alchemist-compile alchemist-iex
alchemist-message alchemist-hooks alchemist-hex alchemist-mix
alchemist-info alchemist-goto alchemist-scope alchemist-eval
alchemist-interact alchemist-server alchemist-execute alchemist-report
alchemist-test-mode alchemist-project alchemist-file alchemist-key
alchemist-utils s elixir-mode elixir-format pkg-info url-http url
url-proxy url-privacy url-expand url-methods url-history mailcap
url-auth mail-parse rfc2231 url-cookie url-domsuf url-util url-gw nsm
rmc puny lisp-mnt epl elixir-smie smie company pcase flymake-conf
flymake-proc flymake warnings moccur-conf moccur-edit color-moccur
project-list ido-conf ido org-conf org-clock org ob ob-tangle ob-ref
ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint
org-pcomplete pcomplete org-list org-faces org-entities time-date
noutline outline org-version ob-emacs-lisp ob-core ob-eval org-table ol
org-keys org-compat advice org-macs org-loaddefs format-spec find-func
cal-menu calendar cal-loaddefs color-conf color-theme-ceb-dark
color-theme wid-edit cl sendmail rfc2047 rfc2045 ietf-drums mm-util
mail-prsvr mail-utils reporter projectile grep compile ibuf-ext ibuffer
ibuffer-loaddefs thingatpt winner exec-path-from-shell unfill
yasnippet-snippets yasnippet erlang etags fileloop generator xref
project tempo comint ansi-color ring align edmacro dired-subtree
dired-hacks-utils dired dired-loaddefs dash cl-extra help-mode delight
diminish functions kmacro use-package use-package-ensure
use-package-delight use-package-diminish use-package-bind-key bind-key
easy-mmode use-package-core finder-inf paren cus-start cus-load info
package easymenu browse-url url-handlers url-parse auth-source cl-seq
eieio eieio-core cl-macs eieio-loaddefs password-cache json subr-x map
url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib
tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
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 elisp-mode lisp-mode prog-mode register page
tab-bar menu-bar rfn-eshadow isearch timer select scroll-bar mouse
jit-lock font-lock syntax facemenu font-core term/tty-colors frame
minibuffer cl-generic 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 charscript charprop case-table epa-hook jka-cmpr-hook help
simple abbrev obarray cl-preloaded nadvice loaddefs button faces
cus-face macroexp files text-properties overlay sha1 md5 base64 format
env code-pages mule custom widget hashtable-print-readable backquote
threads kqueue cocoa ns multi-tty make-network-process emacs)

Memory information:
((conses 16 478350 26028)
 (symbols 48 28272 1)
 (strings 32 137496 10746)
 (string-bytes 1 3628543)
 (vectors 16 38570)
 (vector-slots 8 465337 49918)
 (floats 8 221 173)
 (intervals 56 4743 0)
 (buffers 1000 13))