diff options
author | Chong Yidong <cyd@stupidchicken.com> | 2006-01-13 02:30:03 +0000 |
---|---|---|
committer | Chong Yidong <cyd@stupidchicken.com> | 2006-01-13 02:30:03 +0000 |
commit | 4c92479f1bd20db9cf21221f5bae1d2b03b370b9 (patch) | |
tree | f6d0eeaa7646ab7d0b9f7973e2bafe3a6808d36a /lisp/cus-theme.el | |
parent | 6c847613ac55427747a8e1425f04a6271b424da2 (diff) | |
download | emacs-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.el | 54 |
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 |