diff lisp/wid-edit.el @ 41605:faa52db1ed51

(widget-toggle-value-create): On graphic terminal, if :on-glyph or :off-glyph is a list, eval it and store it back. (checkbox): Quote the values for :on-glyph and :off-glyph.
author Richard M. Stallman <rms@gnu.org>
date Tue, 27 Nov 2001 05:04:13 +0000
parents 250cd759b106
children 541b53a03028
line wrap: on
line diff
--- a/lisp/wid-edit.el	Tue Nov 27 04:59:43 2001 +0000
+++ b/lisp/wid-edit.el	Tue Nov 27 05:04:13 2001 +0000
@@ -1996,9 +1996,18 @@
 (defun widget-toggle-value-create (widget)
   "Insert text representing the `on' and `off' states."
   (if (widget-value widget)
-      (widget-image-insert widget
-			   (widget-get widget :on)
-			   (widget-get widget :on-glyph))
+      (progn
+	(and (display-graphic-p)
+	     (listp (widget-get widget :on-glyph))
+	     (widget-put widget :on-glyph
+			 (eval (widget-get widget :on-glyph))))
+	(widget-image-insert widget
+			     (widget-get widget :on)
+			     (widget-get widget :on-glyph)))
+    (and (display-graphic-p)
+	 (listp (widget-get widget :off-glyph))
+	 (widget-put widget :off-glyph
+		     (eval (widget-get widget :off-glyph))))
     (widget-image-insert widget
 			 (widget-get widget :off)
 			 (widget-get widget :off-glyph))))
@@ -2020,19 +2029,19 @@
   ;; We could probably do the same job as the images using single
   ;; space characters in a boxed face with a stretch specification to
   ;; make them square.
-  :on-glyph (create-image "\000\066\076\034\076\066\000"
-			  'xbm t :width 7 :height 7
-			  :background "grey75" ; like default mode line
-			  :foreground "black"
-			  :relief -3
-			  :ascent 'center)
+  :on-glyph '(create-image "\000\066\076\034\076\066\000"
+			   'xbm t :width 7 :height 7
+			   :background "grey75"	; like default mode line
+			   :foreground "black"
+			   :relief -3
+			   :ascent 'center)
   :off "[ ]"
-  :off-glyph (create-image (make-string 7 0)
-			   'xbm t :width 7 :height 7
-			   :background "grey75"
-			   :foreground "black"
-			   :relief 3
-			   :ascent 'center)
+  :off-glyph '(create-image (make-string 7 0)
+			    'xbm t :width 7 :height 7
+			    :background "grey75"
+			    :foreground "black"
+			    :relief 3
+			    :ascent 'center)
   :help-echo "Toggle this item."
   :action 'widget-checkbox-action)