With this change, the toolbar should no longer bust the image cache.
Gregory, can you benchmark with this change (on an otherwise unchanged
trunk, i.e., with equal_lists, not !equal_lists)?
diff --git a/lisp/tool-bar.el b/lisp/tool-bar.el
index 8456216430..c3d0841d0c 100644
--- a/lisp/tool-bar.el
+++ b/lisp/tool-bar.el
@@ -154,12 +154,12 @@ tool-bar--image-expression
(concat icon ".pbm")) colors))
(xbm-spec (append (list :type 'xbm :file
(concat icon ".xbm")) colors)))
- `(find-image (cond ((not (display-color-p))
- ',(list pbm-spec xbm-spec xpm-lo-spec xpm-spec))
- ((< (display-color-cells) 256)
- ',(list xpm-lo-spec xpm-spec pbm-spec xbm-spec))
- (t
- ',(list xpm-spec pbm-spec xbm-spec))))))
+ `(cond ((not (display-color-p))
+ ',(find-image (list pbm-spec xbm-spec xpm-lo-spec xpm-spec)))
+ ((< (display-color-cells) 256)
+ ',(find-image (list xpm-lo-spec xpm-spec pbm-spec xbm-spec)))
+ (t
+ ',(find-image (list xpm-spec pbm-spec xbm-spec))))))
;;;###autoload
(defun tool-bar-local-item (icon def key map &rest props)