summaryrefslogtreecommitdiff
path: root/lisp/cus-theme.el
diff options
context:
space:
mode:
authorChong Yidong <cyd@stupidchicken.com>2006-01-13 02:30:03 +0000
committerChong Yidong <cyd@stupidchicken.com>2006-01-13 02:30:03 +0000
commit4c92479f1bd20db9cf21221f5bae1d2b03b370b9 (patch)
treef6d0eeaa7646ab7d0b9f7973e2bafe3a6808d36a /lisp/cus-theme.el
parent6c847613ac55427747a8e1425f04a6271b424da2 (diff)
downloademacs-4c92479f1bd20db9cf21221f5bae1d2b03b370b9.tar.gz
* cus-theme.el (custom-theme-add-variable, custom-theme-add-face):
Don't add widget if setting undefined.
Diffstat (limited to 'lisp/cus-theme.el')
-rw-r--r--lisp/cus-theme.el54
1 files changed, 30 insertions, 24 deletions
diff --git a/lisp/cus-theme.el b/lisp/cus-theme.el
index 0a421da925c..afb760a7d4e 100644
--- a/lisp/cus-theme.el
+++ b/lisp/cus-theme.el
@@ -156,18 +156,21 @@ the directory " custom-theme-directory "\n\n")
(interactive "vVariable name: ")
(save-excursion
(goto-char custom-theme-insert-variable-marker)
- (if (assq symbol custom-theme-variables)
- (message "%s is already in the theme" (symbol-name symbol))
- (widget-insert "\n")
- (let ((widget (widget-create 'custom-variable
- :tag (custom-unlispify-tag-name symbol)
- :custom-level 0
- :action 'custom-theme-variable-action
- :custom-state 'unknown
- :value symbol)))
- (push (cons symbol widget) custom-theme-variables)
- (custom-magic-reset widget))
- (widget-setup))))
+ (cond ((assq symbol custom-theme-variables)
+ (message "%s is already in the theme" (symbol-name symbol)))
+ ((not (boundp symbol))
+ (message "%s is not defined as a variable" (symbol-name symbol)))
+ (t
+ (widget-insert "\n")
+ (let ((widget (widget-create 'custom-variable
+ :tag (custom-unlispify-tag-name symbol)
+ :custom-level 0
+ :action 'custom-theme-variable-action
+ :custom-state 'unknown
+ :value symbol)))
+ (push (cons symbol widget) custom-theme-variables)
+ (custom-magic-reset widget))
+ (widget-setup)))))
(defvar custom-theme-variable-menu
`(("Reset to Current" custom-redraw
@@ -222,18 +225,21 @@ Optional EVENT is the location for the menu."
(interactive (list (read-face-name "Face name" nil nil)))
(save-excursion
(goto-char custom-theme-insert-face-marker)
- (if (assq symbol custom-theme-faces)
- (message "%s is already in the theme" (symbol-name symbol))
- (widget-insert "\n")
- (let ((widget (widget-create 'custom-face
- :tag (custom-unlispify-tag-name symbol)
- :custom-level 0
- :action 'custom-theme-face-action
- :custom-state 'unknown
- :value symbol)))
- (push (cons symbol widget) custom-theme-faces)
- (custom-magic-reset widget)
- (widget-setup)))))
+ (cond ((assq symbol custom-theme-faces)
+ (message "%s is already in the theme" (symbol-name symbol)))
+ ((not (facep symbol))
+ (message "%s is not defined as a face" (symbol-name symbol)))
+ (t
+ (widget-insert "\n")
+ (let ((widget (widget-create 'custom-face
+ :tag (custom-unlispify-tag-name symbol)
+ :custom-level 0
+ :action 'custom-theme-face-action
+ :custom-state 'unknown
+ :value symbol)))
+ (push (cons symbol widget) custom-theme-faces)
+ (custom-magic-reset widget)
+ (widget-setup))))))
(defvar custom-theme-face-menu
`(("Reset to Theme Value" custom-face-reset-theme