summaryrefslogtreecommitdiff
path: root/lisp/custom.el
diff options
context:
space:
mode:
authorChong Yidong <cyd@stupidchicken.com>2006-05-13 16:16:43 +0000
committerChong Yidong <cyd@stupidchicken.com>2006-05-13 16:16:43 +0000
commite58d8ef513aa43ef73c6a1d4f908b2cf4e79034b (patch)
tree424ba6c030fb2aa0db8c86feda22f8dcdbe9926f /lisp/custom.el
parent9fbcde29a51e78d9468b6d0d3a558e5574d31a5a (diff)
downloademacs-e58d8ef513aa43ef73c6a1d4f908b2cf4e79034b.tar.gz
* custom.el (custom-push-theme): Load the variable before checking
its `standard-value'.
Diffstat (limited to 'lisp/custom.el')
-rw-r--r--lisp/custom.el14
1 files changed, 9 insertions, 5 deletions
diff --git a/lisp/custom.el b/lisp/custom.el
index 2ac1e23ac49..c0169812d36 100644
--- a/lisp/custom.el
+++ b/lisp/custom.el
@@ -825,11 +825,15 @@ See `custom-known-themes' for a list of known themes."
;; theme is later disabled.
(if (null old)
(if (and (eq prop 'theme-value)
- (boundp symbol)
- (or (null (get symbol 'standard-value))
- (not (equal (eval (car (get symbol 'standard-value)))
- (symbol-value symbol)))))
- (setq old (list (list 'changed (symbol-value symbol))))
+ (boundp symbol))
+ (let ((sv (get symbol 'standard-value)))
+ (when (and (null sv) (custom-variable-p symbol))
+ (custom-load-symbol symbol)
+ (setq sv (get symbol 'standard-value)))
+ (if (or (null sv)
+ (not (equal (eval (car (get symbol 'standard-value)))
+ (symbol-value symbol))))
+ (setq old (list (list 'changed (symbol-value symbol))))))
(if (and (facep symbol)
(not (face-spec-match-p symbol (get symbol 'face-defface-spec))))
(setq old (list (list 'changed (list