> 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) > Hmmm... this fails with: Loading /home/ghe/local/src/emacs/lisp/indent.el (source)... Loading /home/ghe/local/src/emacs/lisp/emacs-lisp/cl-generic.el (source)... Eager macro-expansion failure: (void-variable image-load-path) Eager macro-expansion failure: (void-variable image-load-path) Eager macro-expansion failure: (void-variable image-load-path) Eager macro-expansion failure: (void-variable image-load-path) Eager macro-expansion failure: (void-variable image-load-path) Eager macro-expansion failure: (void-variable image-load-path) Eager macro-expansion failure: (void-variable image-load-path) Eager macro-expansion failure: (void-variable image-load-path) Symbol¢s value as variable is void: image-load-path