mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-10 15:56:18 +00:00
(tool-bar-find-image-cache): Var deleted.
(tool-bar-find-image): Function deleted. (tool-bar-local-item, tool-bar-local-item-from-menu): Use find-image instead of tool-bar-find-image. (tool-bar-keymap-cache): New hash table. (tool-bar-make-keymap): Use it. (tool-bar-make-keymap-1): Move body of tool-bar-make-keymap here.
This commit is contained in:
parent
01d5aaeb11
commit
b806790118
@ -92,10 +92,18 @@ Define this locally to override the global tool bar.")
|
||||
|
||||
(declare-function image-mask-p "image.c" (spec &optional frame))
|
||||
|
||||
(defconst tool-bar-keymap-cache (make-hash-table :weakness t :test 'equal))
|
||||
|
||||
(defun tool-bar-make-keymap (&optional ignore)
|
||||
"Generate an actual keymap from `tool-bar-map'.
|
||||
Its main job is to figure out which images to use based on the display's
|
||||
color capability and based on the available image libraries."
|
||||
(let ((key (cons (frame-terminal) tool-bar-map)))
|
||||
(or (gethash key tool-bar-keymap-cache)
|
||||
(puthash key (tool-bar-make-keymap-1) tool-bar-keymap-cache))))
|
||||
|
||||
(defun tool-bar-make-keymap-1 ()
|
||||
"Generate an actual keymap from `tool-bar-map', without caching."
|
||||
(mapcar (lambda (bind)
|
||||
(let (image-exp plist)
|
||||
(when (and (eq (car-safe (cdr-safe bind)) 'menu-item)
|
||||
@ -119,13 +127,6 @@ color capability and based on the available image libraries."
|
||||
bind))
|
||||
tool-bar-map))
|
||||
|
||||
(defconst tool-bar-find-image-cache (make-hash-table :weakness t :test 'equal))
|
||||
|
||||
(defun tool-bar-find-image (specs)
|
||||
"Like `find-image' but with caching."
|
||||
(or (gethash specs tool-bar-find-image-cache)
|
||||
(puthash specs (find-image specs) tool-bar-find-image-cache)))
|
||||
|
||||
;;;###autoload
|
||||
(defun tool-bar-add-item (icon def key &rest props)
|
||||
"Add an item to the tool bar.
|
||||
@ -166,7 +167,7 @@ ICON.xbm, using `find-image'."
|
||||
(concat icon ".pbm")) colors))
|
||||
(xbm-spec (append (list :type 'xbm :file
|
||||
(concat icon ".xbm")) colors))
|
||||
(image-exp `(tool-bar-find-image
|
||||
(image-exp `(find-image
|
||||
(cond ((not (display-color-p))
|
||||
',(list pbm-spec xbm-spec xpm-lo-spec xpm-spec))
|
||||
((< (display-color-cells) 256)
|
||||
@ -218,7 +219,7 @@ holds a keymap."
|
||||
(concat icon ".pbm")) colors))
|
||||
(xbm-spec (append (list :type 'xbm :file
|
||||
(concat icon ".xbm")) colors))
|
||||
(image-exp `(tool-bar-find-image
|
||||
(image-exp `(find-image
|
||||
(cond ((not (display-color-p))
|
||||
',(list pbm-spec xbm-spec xpm-lo-spec xpm-spec))
|
||||
((< (display-color-cells) 256)
|
||||
|
Loading…
Reference in New Issue
Block a user