aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/tool-bar.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/tool-bar.el')
-rw-r--r--lisp/tool-bar.el10
1 files changed, 9 insertions, 1 deletions
diff --git a/lisp/tool-bar.el b/lisp/tool-bar.el
index b3915c267cc..82b458e0107 100644
--- a/lisp/tool-bar.el
+++ b/lisp/tool-bar.el
@@ -95,7 +95,15 @@ functions.")
95 (cons (frame-terminal) (sxhash-eq tool-bar-map))) 95 (cons (frame-terminal) (sxhash-eq tool-bar-map)))
96 96
97(defun tool-bar--flush-cache () 97(defun tool-bar--flush-cache ()
98 (setf (gethash (tool-bar--cache-key) tool-bar-keymap-cache) nil)) 98 "Remove all cached entries that refer to the current `tool-bar-map'."
99 (let ((id (sxhash-eq tool-bar-map))
100 (entries nil))
101 (maphash (lambda (k _)
102 (when (equal (cdr k) id)
103 (push k entries)))
104 tool-bar-keymap-cache)
105 (dolist (k entries)
106 (remhash k tool-bar-keymap-cache))))
99 107
100(defun tool-bar-make-keymap (&optional _ignore) 108(defun tool-bar-make-keymap (&optional _ignore)
101 "Generate an actual keymap from `tool-bar-map'. 109 "Generate an actual keymap from `tool-bar-map'.