Subject: bug#7205: 24.0.50; Font customizations not being applied properly at startup

From: Tim Van Holder <[email-masked]>
Date: Wed, 13 Oct 2010 11:32:35 +0200

This can't be reproduced with 'emacs -Q'.

I have custom-file customized as "~/.custom.el".
My .emacs has
  (setq custom-file "~/.custom.el")
  (load custom-file)
at the top to ensure that it gets loaded.

In current bzr (r101947) this is not loading all face customizations
anymore. Ediff faces in particular seem to be affected.
After startup, list-faces-display shows the diff-xxx faces as their
defaults, not the customized version.
Eval'ing the custom-set-faces in .custom.el does update the customized
colors, but values not explictly overridden remain (e.g. on diff-header,
my customized version has no background color set, but the default
background color is retained after the eval). Hitting [enter] in the
face list for these faces takes me to a customization buffer that
declares that the face is set as STANDARD. In fact, this seems to be the
case for all faces, even those that do get loaded "correctly".
So I tried (re)customizing a face (show-paren-match) and after saving
that, .custom.el lost all the previous face customizations, replacing
them with a single one:

  (custom-set-faces
   ;; custom-set-faces was added by Custom.
   ;; If you edit it by hand, you could mess it up, so be careful.
   ;; Your init file should contain only one such instance.
   ;; If there is more than one, they won't work right.
   '(show-paren-match
     ((t
       (:background "Navy" :foreground "Wheat" :weight bold)))))

In the original file, the entry was:

   '(show-paren-match
     ((((class color))
       (:bold t :foreground "Wheat" :background "Navy"))))

(both examples reformatted to fit on a mail line).
So it looks like custom might not like its old format anymore, causing
it to mishandle existing customizations (and even worse, completely
discard them when a new customization is saved).

In GNU Emacs 24.0.50.1 (i686-pc-linux-gnu, GTK+ Version 2.8.20)
 of 2010-10-13 on leeloo
Windowing system distributor `The Cygwin/X Project', version 11.0.10503000
configured using `configure  '--with-x''