[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/emacs-lisp/easymenu.el
From: |
Richard M. Stallman |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/emacs-lisp/easymenu.el |
Date: |
Tue, 02 Jul 2002 14:49:03 -0400 |
Index: emacs/lisp/emacs-lisp/easymenu.el
diff -c emacs/lisp/emacs-lisp/easymenu.el:1.50
emacs/lisp/emacs-lisp/easymenu.el:1.51
*** emacs/lisp/emacs-lisp/easymenu.el:1.50 Wed May 15 18:14:16 2002
--- emacs/lisp/emacs-lisp/easymenu.el Tue Jul 2 14:49:03 2002
***************
*** 616,621 ****
--- 616,635 ----
(or (keymapp map) (error "Malformed menu in easy-menu: (%s)" map))
map)
+ (defun easy-menu-popup-menu (menu &optional event)
+ "Pop up a menu and run a command according to user's selection.
+ MENU is a menu description as in `easy-menu-define'.
+ EVENT is a mouse button event and determines where to pop up the menu.
+ If EVENT is nil, pop up menu at the current mouse position."
+ (let ((map (easy-menu-create-menu (car menu) (cdr menu))))
+ (if (symbolp map)
+ (let ((f (memq :filter (get map 'menu-prop))))
+ (setq map (symbol-function map))
+ (if f (setq map (funcall (cadr f) map)))))
+ (let* ((sel (x-popup-menu (or event t) map))
+ (f (if (consp sel) (lookup-key map (apply 'vector sel)))))
+ (if (commandp f) (call-interactively f)))))
+
(provide 'easymenu)
;;; easymenu.el ends here
- [Emacs-diffs] Changes to emacs/lisp/emacs-lisp/easymenu.el,
Richard M. Stallman <=