diff options
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 |