mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-02 11:21:42 +00:00
(tool-bar-make-keymap): Account for the optional KEY-BINDING-DATA
field in menu-item list.
This commit is contained in:
parent
6c4999321b
commit
71928058cc
@ -93,20 +93,26 @@ Define this locally to override the global tool bar.")
|
||||
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."
|
||||
(mapcar (lambda (bind)
|
||||
(let (image-exp)
|
||||
(let (image-exp plist)
|
||||
(when (and (eq (car-safe (cdr-safe bind)) 'menu-item)
|
||||
(setq image-exp (plist-get bind :image))
|
||||
(consp image-exp)
|
||||
(not (eq (car image-exp) 'image))
|
||||
(fboundp (car image-exp)))
|
||||
(if (not (display-images-p))
|
||||
(setq bind nil)
|
||||
(let ((image (eval image-exp)))
|
||||
(unless (image-mask-p image)
|
||||
(setq image (append image '(:mask heuristic))))
|
||||
(setq bind (copy-sequence bind))
|
||||
(plist-put bind :image image))))
|
||||
bind))
|
||||
;; For the format of menu-items, see node
|
||||
;; `Extended Menu Items' in the Elisp manual.
|
||||
(setq plist (nthcdr (if (consp (nth 4 bind)) 5 4)
|
||||
bind))
|
||||
(setq image-exp (plist-get plist :image))
|
||||
(consp image-exp)
|
||||
(not (eq (car image-exp) 'image))
|
||||
(fboundp (car image-exp)))
|
||||
(if (not (display-images-p))
|
||||
(setq bind nil)
|
||||
(let ((image (eval image-exp)))
|
||||
(unless (image-mask-p image)
|
||||
(setq image (append image '(:mask heuristic))))
|
||||
(setq bind (copy-sequence bind)
|
||||
plist (nthcdr (if (consp (nth 4 bind)) 5 4)
|
||||
bind))
|
||||
(plist-put plist :image image))))
|
||||
bind))
|
||||
tool-bar-map))
|
||||
|
||||
(defconst tool-bar-find-image-cache (make-hash-table :weakness t :test 'equal))
|
||||
|
Loading…
Reference in New Issue
Block a user