]> git.eshelyaron.com Git - emacs.git/commitdiff
(popup-menu): If POSITION is nil, set it using
authorDave Love <fx@gnu.org>
Tue, 26 Sep 2000 15:34:39 +0000 (15:34 +0000)
committerDave Love <fx@gnu.org>
Tue, 26 Sep 2000 15:34:39 +0000 (15:34 +0000)
mouse-position.

lisp/mouse.el

index 373d1014a0584d17a9c5cdedf09d6dc712339d78..d612a2017ec267d58fbdce4ce8216fbddae46630 100644 (file)
@@ -59,12 +59,15 @@ PREFIX is the prefix argument (if any) to pass to the command."
                                 (plist-get (get map 'menu-pro) :filter))))
                  (if filter (funcall filter (symbol-function map)) map)))))
         event)
+    (unless position
+      (let ((mp (mouse-position)))
+       (setq position (list (list (cadr mp) (cddr mp)) (car mp)))))
     ;; The looping behavior was taken from lmenu's popup-menu-popup
     (while (and map (setq event
                          ;; map could be a prefix key, in which case
                          ;; we need to get its function cell
                          ;; definition.
-                         (x-popup-menu position (indirect-function map))))
+                         (x-popup-menu (or position (mouse-position)) (indirect-function map))))
       ;; Strangely x-popup-menu returns a list.
       ;; mouse-major-mode-menu was using a weird:
       ;; (key-binding (apply 'vector (append '(menu-bar) menu-prefix events)))