From dd470960273e61040446549c2f6c549c0fdb483a Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Sun, 25 Mar 2012 20:52:49 +0800 Subject: [PATCH] Fix for custom-theme-write-faces. * lisp/cus-theme.el (custom-theme-write-faces): Retrieve current face spec with custom-face-get-current-spec if its :shown-value is not determined yet. Fixes: debbugs:9337 --- lisp/ChangeLog | 4 ++++ lisp/cus-theme.el | 11 +++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 72cd250bfd..639d3f6d57 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,9 @@ 2012-03-25 Chong Yidong + * cus-theme.el (custom-theme-write-faces): Retrieve current face + spec with custom-face-get-current-spec if its :shown-value is not + determined yet (Bug#9337). + * button.el (button-at): Minor addition to docstring. 2012-03-24 Simon Leinen diff --git a/lisp/cus-theme.el b/lisp/cus-theme.el index 7979904937..ba2fa969fc 100644 --- a/lisp/cus-theme.el +++ b/lisp/cus-theme.el @@ -437,14 +437,17 @@ It includes all faces in list FACES." (princ theme) (princ "\n") (dolist (spec faces) + ;; Insert the face iff the checkbox widget is checked. (when (widget-get (nth 1 spec) :value) (let* ((symbol (nth 0 spec)) (widget (nth 2 spec)) (value - (if (car-safe (widget-get widget :children)) - (custom-face-widget-to-spec widget) - ;; Child is null if the widget is closed (hidden). - (widget-get widget :shown-value)))) + (cond + ((car-safe (widget-get widget :children)) + (custom-face-widget-to-spec widget)) + ;; Child is null if the widget is closed (hidden). + ((widget-get widget :shown-value)) + (t (custom-face-get-current-spec symbol))))) (when (and (facep symbol) value) (princ (if (bolp) " '(" "\n '(")) (prin1 symbol) -- 2.20.1