diff lisp/cus-theme.el @ 68159:fca6909a92e8

* cus-theme.el (custom-theme-add-variable, custom-theme-add-face): Don't add widget if setting undefined.
author Chong Yidong <cyd@stupidchicken.com>
date Fri, 13 Jan 2006 02:30:03 +0000
parents a711a44049e2
children c9545d6c538f
line wrap: on
line diff
--- a/lisp/cus-theme.el	Thu Jan 12 23:13:26 2006 +0000
+++ b/lisp/cus-theme.el	Fri Jan 13 02:30:03 2006 +0000
@@ -156,18 +156,21 @@
   (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 @@
   (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