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

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

[elpa] externals/pyim eb5b8dabff 1/2: 简化 pyim-page-show-with-minibuffer


From: ELPA Syncer
Subject: [elpa] externals/pyim eb5b8dabff 1/2: 简化 pyim-page-show-with-minibuffer.
Date: Thu, 30 Dec 2021 07:57:46 -0500 (EST)

branch: externals/pyim
commit eb5b8dabff6c1700d3d1f98f91c8005d720ae2d2
Author: Feng Shu <tumashu@163.com>
Commit: Feng Shu <tumashu@163.com>

    简化 pyim-page-show-with-minibuffer.
    
            * pyim-page.el (pyim-page-show-with-minibuffer): simplify.
            (pyim-page-hide): Better handler page in minibuffer.
---
 pyim-page.el | 37 ++++++++++++++++---------------------
 1 file changed, 16 insertions(+), 21 deletions(-)

diff --git a/pyim-page.el b/pyim-page.el
index 9a9fd3d635..cc1edca61b 100644
--- a/pyim-page.el
+++ b/pyim-page.el
@@ -523,26 +523,18 @@ page 的概念,比如,上面的 “nihao” 的 *待选词列表* 就可以
     (if (not (eq (selected-window) (minibuffer-window)))
         (message string)
       (message nil)
-      (let* ((inhibit-quit t)
-             (begin (point))
-             (length (length pyim-page-last-minibuffer-string))
-             (end (min (+ begin length) (point-max))))
-        (delete-region begin end)
-        (save-excursion
-          (insert
-           (setq pyim-page-last-minibuffer-string
-                 (concat
-                  (or pyim-page-minibuffer-separator
-                      (let* ((width (string-width (buffer-string)))
-                             (n (- (* 20 (+ 1 (/ width 20))) width)))
-                        (make-string n ?\ )))
-                  string)))
-          (setq end (point)))
-        (sit-for 1000000)
-        (delete-region (point) (min end (point-max)))
-        (when quit-flag
-          (setq quit-flag nil)
-          (pyim-add-unread-command-events 7 t))))))
+      ;; 异步获取词条的时候,上一次的 page 字符串可能还在 Minibuffer 中,所以首
+      ;; 先要将其去除,否则会出现两个 page.
+      (delete-char (length pyim-page-last-minibuffer-string))
+      (save-excursion
+        (insert
+         (setq pyim-page-last-minibuffer-string
+               (concat
+                (or pyim-page-minibuffer-separator
+                    (let* ((width (string-width (buffer-string)))
+                           (n (- (* 20 (+ 1 (/ width 20))) width)))
+                      (make-string n ?\ )))
+                string " $ ")))))))
 
 (declare-function 'popup-tip "popup")
 (declare-function 'popup-delete "popup")
@@ -567,7 +559,10 @@ page 的概念,比如,上面的 “nihao” 的 *待选词列表* 就可以
       (popup-delete pyim-page-last-popup))
      ((eq tooltip 'posframe)
       (posframe-hide pyim-page-posframe-buffer))
-     (t (setq pyim-page-last-minibuffer-string nil)))))
+     (t (when (eq (selected-window) (minibuffer-window))
+          ;; 从 minibuffer 中删除 page 字符串。
+          (delete-char (length pyim-page-last-minibuffer-string)))
+        (setq pyim-page-last-minibuffer-string nil)))))
 
 ;; * Footer
 (provide 'pyim-page)



reply via email to

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