Subject: bug#16443: closed (Re: bug#16694: bugs #16694/#16378: Patches)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 05 Apr 2014 07:53:11 +0000

Your bug report

#16434: 24.3.50; White background after loading a theme

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
16434: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16434
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#16694: bugs #16694/#16378: Patches
From: Eli Zaretskii <[email-masked]>
To: Matthias Dahl <[email-masked]>
Cc: [email-masked], [email-masked], [email-masked], [email-masked], [email-masked], [email-masked]
Date: Sat, 05 Apr 2014 10:52:54 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

> Date: Wed, 02 Apr 2014 17:04:19 +0200
> From: Matthias Dahl <[email-masked]>
> CC: Clemens Schüller
>  <[email-masked]>, [email-masked], 
>  Stefan Monnier <[email-masked]>,
>  Eli Zaretskii <[email-masked]>, [email-masked]
> 
> Like promised, attached revised versions of my first three patches which
> had a nasty and very embarrassing bug/brain-fart as well as a potential
> fix for bug #16434.
> 
> I'd appreciate testing and any feedback, so that we (as in who ever is
> in charge and can do this) commit this for the pretest. :)

Thanks.  I applied to the emacs-24 branch the first 2 patches, the
part of the 3rd patch that does not introduce backward
incompatibilities, and the 4th patch you sent in a later message.
Please confirm that the result will DTRT.  Meanwhile, I'm marking
those bugs as "done".

In the future, please also provide ChangeLog entries for the changes
that could be dropped into the respective ChangeLog files.  TIA.

The incompatible part of the 3rd patch, reproduced below, remains
uncommitted.  I understand the motivation for it, but the emacs-24
branch shouldn't introduce incompatible changes at this time.  If
Stefan agrees with applying this part to the trunk, I will do that.

============================================================
Backwards incompatible change: make-face previously accepted
no-init-from-resources as an optional parameter which has now
been removed. There were no other users within Emacs itself. And this
parameter shouldn't have been there in the first place, imho.

diff --git a/lisp/faces.el b/lisp/faces.el
index 8536c08..28205d2 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -149,13 +149,10 @@ REGISTRY, ALTERNATIVE1, ALTERNATIVE2, and etc."
   "Return a list of all defined faces."
   (mapcar #'car face-new-frame-defaults))
 
-(defun make-face (face &optional no-init-from-resources)
+(defun make-face (face)
   "Define a new face with name FACE, a symbol.
 Do not call this directly from Lisp code; use `defface' instead.
-
-If NO-INIT-FROM-RESOURCES is non-nil, don't initialize face
-attributes from X resources.  If FACE is already known as a face,
-leave it unmodified.  Return FACE."
+If FACE is already known as a face, leave it unmodified.  Return FACE."
   (interactive (list (read-from-minibuffer
 		      "Make face: " nil nil t 'face-name-history)))
   (unless (facep face)
@@ -166,8 +163,7 @@ leave it unmodified.  Return FACE."
     (when (fboundp 'facemenu-add-new-face)
       (facemenu-add-new-face face))
     ;; Define frame-local faces for all frames from X resources.
-    (unless no-init-from-resources
-      (make-face-x-resource-internal face)))
+    (make-face-x-resource-internal face))
   face)
 
 (defun make-empty-face (face)
@@ -175,7 +171,7 @@ leave it unmodified.  Return FACE."
 Do not call this directly from Lisp code; use `defface' instead."
   (interactive (list (read-from-minibuffer
 		      "Make empty face: " nil nil t 'face-name-history)))
-  (make-face face 'no-init-from-resources))
+  (make-face face))
 
 (defun copy-face (old-face new-face &optional frame new-frame)
   "Define a face named NEW-FACE, which is a copy of OLD-FACE.

Subject: 24.3.50; White background after loading a theme
From: Mattia Ziulu <[email-masked]>
To: [email-masked]
Date: Tue, 14 Jan 2014 09:48:29 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

When trying to load a dark background such as [0], [1] and the builtin
theme tango-dark, emacs reverts to a white background ("customize-face
RET default RET" tells me that Background has value "#ffffff"). I could
reproduce this behavior with emacs -q and load-ing the theme file, but
not with emacs -Q, where the same invocation gives the expected result.
Additional information has been collected in a recent discussion in the
emacs-help mailing list here[2].

It seems to me, after a brief testing session, that this[3] is be the
commit that causes this behavior. Reverting to a previous commit "fixes" this.

[0]: https://github.com/bbatsov/zenburn-emacs
[1]: http://git.naquadah.org/?p=naquadah-theme.git;a=summary
[2]: https://lists.gnu.org/archive/html/help-gnu-emacs/2014-01/msg00056.html
[3]: http://git.savannah.gnu.org/cgit/emacs.git/commit/?id=15e14b165dcbc6566a0459b0d5e66f89080f569e

In GNU Emacs 24.3.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.8.8)
 of 2014-01-14 on eagle.tekno-soft.it
Repository revision: [email-masked]
Windowing system distributor `Fedora Project', version 11.0.11404000
System Description:	Fedora release 19 (Schrödinger’s Cat)

Configured using:
 `configure --prefix=/opt/mattia --with-wide-int
 --enable-link-time-optimization --with-file-notification=inotify
 'CFLAGS=-g3 -O2 -flto=4''

Important settings:
  value of $LC_CTYPE: en_US.UTF-8
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=none
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  hl-sexp-mode: t
  erc-spelling-mode: t
  erc-notifications-mode: t
  show-paren-mode: t
  recentf-mode: t
  hes-mode: t
  global-superword-mode: t
  superword-mode: t
  display-time-mode: t
  pretty-control-l-mode: t
  erc-hl-nicks-mode: t
  erc-list-mode: t
  erc-menu-mode: t
  erc-autojoin-mode: t
  erc-ring-mode: t
  erc-networks-mode: t
  erc-pcomplete-mode: t
  erc-track-mode: t
  erc-match-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-netsplit-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  elisp-slime-nav-mode: t
  flyspell-mode: t
  global-auto-complete-mode: t
  auto-complete-mode: t
  sublimity-global-mode: t
  sublimity-mode: t
  sml-modeline-mode: t
  smartparens-global-mode: t
  smartparens-mode: t
  projectile-global-mode: t
  projectile-mode: t
  ido-ubiquitous-mode: t
  helm-match-plugin-mode: t
  helm-occur-match-plugin-mode: t
  shell-dirtrack-mode: t
  flx-ido-mode: t
  ido-everywhere: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  evil-mode: t
  evil-local-mode: t
  eldoc-mode: t
  global-discover-mode: t
  discover-mode: t
  global-diff-hl-mode: t
  diff-auto-refine-mode: t
  auto-compile-on-load-mode: t
  auto-compile-on-save-mode: t
  tooltip-mode: t
  electric-indent-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<M-f10> M-x r e p o r t - m <backspace> e m a c s 
<return>

Recent messages:
Disabling `erc-pcomplete'
Error setting magit-diff-refine-hunk: (wrong-type-argument timerp nil)
Loading /home/mattia/.emacs.d/recentf...done
Cleaning up the recentf list...
File /home/mattia/.emacs.d/elpa/git-messenger-20140108.811/git-messenger-autoloads.el removed from the recentf list
Cleaning up the recentf list...done (1 removed)
Invalid face reference: quote [6 times]
Loading /home/mattia/.emacs.d/custom.el (source)...done
Starting new Ispell process [aspell::default] ...
For information about GNU Emacs and the GNU system, type C-h C-a.

Load-path shadows:
/home/mattia/.emacs.d/elpa/js2-mode-20140113.1754/.dir-locals hides /home/mattia/.emacs.d/elpa/flycheck-20140113.651/.dir-locals
/home/mattia/.emacs.d/elpa/js2-mode-20140113.1754/.dir-locals hides /opt/mattia/share/emacs/24.3.50/lisp/gnus/.dir-locals
/home/mattia/.emacs.d/elpa/tabulated-list-20120406.2251/tabulated-list hides /opt/mattia/share/emacs/24.3.50/lisp/emacs-lisp/tabulated-list

Features:
(shadow sort mail-extr emacsbug sendmail hl-sexp disp-table erc-spelling
erc-desktop-notifications notifications dbus naquadah-theme paren
recentf tree-widget highlight-escape-sequences superword subword time
cus-start cus-load rainbow-mode whitespace zenburn-theme c-eldoc
cc-mode-expansions cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles
cc-align cc-engine cc-vars cc-defs sm-package-zenburn-theme
sm-package-rainbow-mode sm-package-pp-c-l pp-c-l
sm-package-naquadah-theme sm-package-hl-sexp sm-package-edit-color-stamp
sm-package-erc-hl-nicks erc-hl-nicks color sm-package-erc erc-list
erc-menu erc-join erc-ring erc-networks erc-pcomplete erc-track
erc-match erc-button wid-edit erc-fill erc-stamp erc-netsplit
erc-goodies erc erc-backend erc-compat sm-package-identica-mode
sm-package-php-mode sm-package-jedi jedi epc ctable concurrent deferred
sm-package-epc sm-package-ein sm-package-js2-mode
sm-package-elisp-slime-nav elisp-slime-nav etags sm-package-flyspell
flyspell ispell sm-package-flycheck-color-mode-line sm-package-flycheck
flycheck rx sm-package-yasnippet yasnippet sm-package-uncrustify-mode
uncrustify-mode sm-package-ggtags sm-package-c-eldoc
sm-package-auto-complete-clang auto-complete-clang sm-package-fuzzy
sm-package-auto-complete auto-complete-config auto-complete
sm-package-wgrep-ag wgrep-ag sm-package-wgrep wgrep sm-package-windmove
sm-package-visual-regexp sm-package-utils sm-package-undo-tree
sm-package-sublimity sublimity-scroll sublimity sm-package-sml-modeline
sml-modeline sm-package-smooth-scrolling smooth-scrolling
sm-package-smex smex sm-package-smartparens smartparens-config
smartparens sm-package-projectile projectile pkg-info find-func epl
sm-package-prodigy sm-package-persistent-soft sm-package-package
sm-package-multiple-cursors multiple-cursors mc-separate-operations
rectangular-region-mode mc-mark-pop mc-mark-more mc-cycle-cursors
mc-edit-lines multiple-cursors-core sm-package-melpa-upstream-visit
melpa-upstream-visit sm-package-mc-extras sm-package-magit-filenotify
magit-filenotify sm-package-magit magit-key-mode magit view epa derived
epg epg-config autorevert filenotify git-rebase-mode git-commit-mode
server log-edit message rfc822 mml mml-sec mm-decode mm-bodies mm-encode
mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev mail-utils
gmm-utils mailheader pcvs-util add-log sm-package-markdown-mode+
sm-package-markdown-mode sm-package-list-packages-ext
sm-package-ido-ubiquitous ido-ubiquitous warnings sm-package-ido
sm-package-hl-line+ hl-line+ hl-line
sm-package-highlight-escape-sequences sm-package-helm-swoop
sm-package-helm-projectile sm-package-helm-ag sm-package-helm helm-files
image-dired ffap helm-buffers helm-elscreen helm-tags helm-bookmark
helm-adaptative helm-info helm-net browse-url xml url url-proxy
url-privacy url-expand url-methods url-history url-cookie url-domsuf
url-util url-parse url-vars mailcap helm-plugin bookmark pp helm-locate
helm-help helm-match-plugin helm-grep helm-regexp grep helm-external
helm-utils helm-misc helm helm-config helm-aliases sm-package-grizzl
sm-package-git-messenger git-messenger tramp tramp-compat auth-source
gnus-util mm-util mail-prsvr password-cache tramp-loaddefs trampver
shell format-spec popup sm-package-gitignore-mode
sm-package-gitconfig-mode sm-package-git-commit-training-wheels-mode
sm-package-gist eieio eieio-core sm-package-fold-this sm-package-flx-ido
flx-ido flx ido sm-package-flx sm-package-f f dash s
sm-package-expand-region expand-region text-mode-expansions
python-el-fgallina-expansions er-basic-expansions thingatpt
expand-region-custom expand-region-core sm-package-evil evil
evil-integration undo-tree diff evil-maps evil-commands evil-types
evil-search evil-ex evil-macros evil-repeat evil-states evil-core
evil-common windmove rect evil-digraphs evil-vars sm-package-eshell
em-smart pcomplete esh-var esh-io esh-cmd esh-opt esh-ext esh-proc
esh-arg diminish eldoc esh-groups eshell esh-module esh-mode esh-util
sm-package-discover discover edmacro kmacro makey
sm-package-dired-single dired-single sm-package-dired-efap dired-efap
sm-package-dired+ help-mode dired+ dired-x dired-aux sm-package-dired
dired sm-package-diminish sm-package-diff-hl diff-hl vc-dir ewoc vc
vc-dispatcher diff-mode easy-mmode sm-package-defaults saveplace
jka-compr sm-package-change-inner sm-package-bytecomp sm-package-bm bm
sm-package-browse-kill-ring browse-kill-ring sm-package-auto-compile
byte-opt auto-compile packed bytecomp byte-compile cconv info
sm-package-async sm-package-ag ag compile sm-package-achievements
advanced-achievements achievements basic-achievements
achievements-functions sm-package-groovy-mode python easymenu comint
ring ansi-color sm-module-visual sm-module-social sm-module-HRI
sm-module-php sm-module-python sm-module-org sm-module-javascript
sm-module-emacs-lisp sm-module-checkers sm-module-C sm-module-completion
sm-module-base sm-module-android smotitah cl-macs advice help-fns gv
package cl cl-loaddefs cl-lib time-date tooltip electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd
fontset image regexp-opt fringe tabulated-list newcomment lisp-mode
prog-mode register page menu-bar rfn-eshadow timer select scroll-bar
mouse jit-lock font-lock syntax facemenu font-core frame cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev
minibuffer 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 make-network-process
dbusbind inotify dynamic-setting system-font-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty emacs)