emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/popup afeaed3 082/184: Merge branch 'master' into use-cl-l


From: ELPA Syncer
Subject: [nongnu] elpa/popup afeaed3 082/184: Merge branch 'master' into use-cl-lib
Date: Wed, 6 Oct 2021 00:01:12 -0400 (EDT)

branch: elpa/popup
commit afeaed3337a5c73385e958bc90c1858d4a787e6c
Merge: 180516e a49ffd0
Author: Syohei YOSHIDA <syohex@gmail.com>
Commit: Syohei YOSHIDA <syohex@gmail.com>

    Merge branch 'master' into use-cl-lib
    
    Conflicts:
        popup.el
---
 popup.el | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/popup.el b/popup.el
index 5163fff..f5c9269 100644
--- a/popup.el
+++ b/popup.el
@@ -789,6 +789,16 @@ KEYMAP is a keymap that will be put on the popup contents."
           (setq hidden nil))))
     hidden))
 
+(defun popup-jump (popup cursor)
+  "Jump to a position specified by CURSOR of POPUP and draw."
+  (let ((scroll-top (popup-scroll-top popup)))
+    ;; Do not change page as much as possible.
+    (unless (and (<= scroll-top cursor)
+                 (< cursor (+ scroll-top (popup-height popup))))
+      (setf (popup-scroll-top popup) cursor))
+    (setf (popup-cursor popup) cursor)
+    (popup-draw popup)))
+
 (defun popup-select (popup i)
   "Select the item at I of POPUP and draw."
   (setq i (+ i (popup-offset popup)))
@@ -1238,6 +1248,7 @@ PROMPT is a prompt string when reading events during 
event loop."
                        symbol
                        parent
                        parent-offset
+                       cursor
                        (keymap popup-menu-keymap)
                        (fallback 'popup-menu-fallback)
                        help-delay
@@ -1304,7 +1315,9 @@ isearch canceled. The arguments is whole filtered list of 
items."
   (unwind-protect
       (progn
         (popup-set-list menu list)
-        (popup-draw menu)
+        (if cursor
+            (popup-jump menu cursor)
+          (popup-draw menu))
         (if nowait
             menu
           (popup-menu-event-loop menu keymap fallback



reply via email to

[Prev in Thread] Current Thread [Next in Thread]