Subject: bug#16658: 24.3; Customizing mode-line face with themes doesn't work

From: Stuart Olsen <[email-masked]>
Date: Wed, 05 Feb 2014 04:44:43 -0600

Simply put, using `custom-theme-set-faces' to set the face named
`mode-line' does not work. Steps to reproduce:

- Start Emacs with `emacs -Q'.
- Do `M-x customize-create-theme'.
- Initialize the theme with basic face customizations.
- Navigate to the `mode-line' face.
- Deselect the `box' property.
- Save the new theme -- I called it `mode-line'.
- Use `M-x customize-themes' to enable the new theme.
- The `mode-line' face continues to display the `box' property.

The face customization does not appear to work even after reloading
Emacs and the new theme. So far, the `mode-line' face is the only face
with which I have had this problem. Notably, customizing the face with
`M-x customize-face' and saving straight to `custom-file' works
perfectly fine. Also notably, evaluating `(load-file
"path/to/mode-line-theme.el")' also works.

In GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK+ Version 3.8.6)
 of 2013-12-22 on brahms, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.11405000
System Description:	Debian GNU/Linux testing (jessie)

Configured using:
 `configure '--build' 'x86_64-linux-gnu' '--build' 'x86_64-linux-gnu'
 '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib'
 '--localstatedir=/var/lib' '--infodir=/usr/share/info'
 '--mandir=/usr/share/man' '--with-pop=yes'
 '--enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.3/site-lisp:/usr/share/emacs/site-lisp'
 '--with-crt-dir=/usr/lib/x86_64-linux-gnu' '--with-x=yes'
 '--with-x-toolkit=gtk3' '--with-toolkit-scroll-bars'
 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -fstack-protector
 --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall'
 'LDFLAGS=-Wl,-z,relro' 'CPPFLAGS=-D_FORTIFY_SOURCE=2''

Important settings:
  value of $LC_CTYPE: en_US.UTF-8
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  xterm-mouse-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  global-page-break-lines-mode: t
  page-break-lines-mode: t
  show-paren-mode: t
  navigate-parens-mode: t
  hyper-greek-mode: t
  minibuffer-depth-indicate-mode: t
  global-auto-complete-mode: t
  auto-complete-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  menu-bar-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
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
M-x s u b <tab> C-a C-k b u g <tab> M-h <backspace> 
C-a <tab> r e p <tab> <tab> <return>

Recent messages:
Loading /home/sjo/.emacs.d/charcoal-black-custom.el (source)...done
Loading /home/sjo/.emacs.d/visual-settings.el (source)...done
Starting Emacs daemon.
Loading /home/sjo/.emacs.d/powerline.el (source)...
(lambda (d) ...) quoted with ' rather than with #'
(lambda (dl) ...) quoted with ' rather than with #'
(lambda (mm) ...) quoted with ' rather than with #'
Loading /home/sjo/.emacs.d/powerline.el (source)...done
When done with this frame, type C-x 5 0
Making completion list...

Load-path shadows:
/usr/share/emacs/24.3/site-lisp/debian-startup hides /usr/share/emacs/site-lisp/debian-startup
~/.emacs.d/dired-x hides /usr/share/emacs/24.3/lisp/dired-x
~/.emacs.d/term hides /usr/share/emacs/24.3/lisp/term
~/.emacs.d/flymake hides /usr/share/emacs/24.3/lisp/progmodes/flymake
~/.emacs.d/cc-mode/cc-awk hides /usr/share/emacs/24.3/lisp/progmodes/cc-awk
~/.emacs.d/cc-mode/cc-fonts hides /usr/share/emacs/24.3/lisp/progmodes/cc-fonts
~/.emacs.d/cc-mode/cc-engine hides /usr/share/emacs/24.3/lisp/progmodes/cc-engine
~/.emacs.d/cc-mode/cc-mode hides /usr/share/emacs/24.3/lisp/progmodes/cc-mode
~/.emacs.d/cc-mode/cc-menus hides /usr/share/emacs/24.3/lisp/progmodes/cc-menus
~/.emacs.d/cc-mode/cc-bytecomp hides /usr/share/emacs/24.3/lisp/progmodes/cc-bytecomp
~/.emacs.d/cc-mode/cc-langs hides /usr/share/emacs/24.3/lisp/progmodes/cc-langs
~/.emacs.d/cc-mode/cc-styles hides /usr/share/emacs/24.3/lisp/progmodes/cc-styles
~/.emacs.d/cc-mode/cc-align hides /usr/share/emacs/24.3/lisp/progmodes/cc-align
~/.emacs.d/cc-mode/cc-defs hides /usr/share/emacs/24.3/lisp/progmodes/cc-defs
~/.emacs.d/cc-mode/cc-vars hides /usr/share/emacs/24.3/lisp/progmodes/cc-vars
~/.emacs.d/cc-mode/cc-cmds hides /usr/share/emacs/24.3/lisp/progmodes/cc-cmds
~/.emacs.d/cc-mode/cc-compat hides /usr/share/emacs/24.3/lisp/progmodes/cc-compat
~/.emacs.d/cc-mode/cc-guess hides /usr/share/emacs/24.3/lisp/progmodes/cc-guess
/home/sjo/.emacs.d/elpa/cl-lib-0.3/cl-lib hides /usr/share/emacs/24.3/lisp/emacs-lisp/cl-lib

Features:
(shadow sort flyspell ispell gnus-util mail-extr emacsbug message
format-spec rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse
rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mail-utils powerline server
auctex-autoloads tex-site cl-lib-autoloads
fill-column-indicator-autoloads geiser-autoloads
git-commit-mode-autoloads magit-autoloads info unicode-fonts-autoloads
ucs-utils-autoloads font-utils-autoloads persistent-soft-autoloads
list-utils-autoloads pcache-autoloads finder-inf xt-mouse lilypond-mode
flymake-settings flymake compile minimap undo-tree diff page-break-lines
multiple-cursors mc-separate-operations rectangular-region-mode
mc-mark-pop mc-mark-more mc-cycle-cursors mc-edit-lines
multiple-cursors-core rect time-date paren yasnippet help-mode goto-addr
thingatpt term derived disp-table ehelp electric ange-ftp comint
ansi-color ring package smart-tabs-mode cc-mode cc-fonts easymenu
cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
mb-depth define-keys auto-complete-etags auto-complete-clang
auto-complete-config auto-complete easy-mmode advice advice-preload
popup edmacro kmacro help-fns cl-macs gv cl cl-lib slime-autoloads
tooltip 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
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 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
dynamic-setting system-font-setting font-render-setting move-toolbar gtk
x-toolkit x multi-tty emacs)