[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs/lisp tool-bar.el
From: |
Chong Yidong |
Subject: |
[Emacs-diffs] emacs/lisp tool-bar.el |
Date: |
Thu, 27 Nov 2008 03:29:37 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Chong Yidong <cyd> 08/11/27 03:29:37
Modified files:
lisp : tool-bar.el
Log message:
(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.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/tool-bar.el?cvsroot=emacs&r1=1.21&r2=1.22
Patches:
Index: tool-bar.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/tool-bar.el,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- tool-bar.el 12 Oct 2008 13:45:46 -0000 1.21
+++ tool-bar.el 27 Nov 2008 03:29:37 -0000 1.22
@@ -92,10 +92,18 @@
(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 @@
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 @@
(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 @@
(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)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs/lisp tool-bar.el,
Chong Yidong <=