changeset 33895:3683396305bc

(tool-bar-add-item-from-menu): Handle case that foreground and/or background colors of the face `tool-bar' are unspecified.
author Gerd Moellmann <gerd@gnu.org>
date Mon, 27 Nov 2000 11:28:24 +0000
parents bec74894e41f
children c6633a26b63a
files lisp/toolbar/tool-bar.el
diffstat 1 files changed, 19 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/toolbar/tool-bar.el	Mon Nov 27 09:49:29 2000 +0000
+++ b/lisp/toolbar/tool-bar.el	Mon Nov 27 11:28:24 2000 +0000
@@ -129,24 +129,25 @@
     (setq map global-map))
   (let* ((menu-bar-map (lookup-key map [menu-bar]))
 	 (keys (where-is-internal command menu-bar-map))
-	 (fg (face-foreground 'tool-bar))
-	 (bg (face-background 'tool-bar))
-	 (image (find-image
-		 (if (display-color-p)
-		     `((:type xpm :file ,(concat icon ".xpm"))
-		       (:type pbm :file ,(concat icon ".pbm")
-		        :background ,bg
-		        :foreground ,fg)
-		       (:type xbm :file ,(concat icon ".xbm")
-		        :background ,bg
-		        :foreground ,fg))
-		   `((:type pbm :file ,(concat icon ".pbm")
-		      :background ,bg
-		      :foreground ,fg)
-		     (:type xbm :file ,(concat icon ".xbm")
-		      :background ,bg
-		      :foreground ,fg)
-		     (:type xpm :file ,(concat icon ".xpm"))))))
+	 (fg (if (eq (face-foreground 'tool-bar) 'unspecified)
+		 nil
+	       (list :foreground (face-foreground 'tool-bar))))
+	 (bg (if (eq (face-background 'tool-bar) 'unspecified)
+		 nil
+	       (list :background (face-background 'tool-bar))))
+	 (colors (nconc fg bg))
+	 (spec (if (display-color-p)
+		   (list (list :type 'xpm :file (concat icon ".xpm"))
+			 (append (list :type 'pbm :file (concat icon ".pbm"))
+				       colors)
+			 (append (list :type 'xbm :file (concat icon ".xbm"))
+				       colors))
+		 (list (append (list :type 'pbm :file (concat icon ".pbm"))
+				     colors)
+		       (append (list :type 'xbm :file (concat icon ".xbm"))
+				     colors)
+		       (list :type 'xpm :file (concat icon ".xpm")))))
+	 (image (find-image spec))
 	 submap key)
     (when image
       ;; We'll pick up the last valid entry in the list of keys if