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

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

[elpa] externals/pyim 8e2daa6 1/9: pyim-candidates-create-timer-function


From: ELPA Syncer
Subject: [elpa] externals/pyim 8e2daa6 1/9: pyim-candidates-create-timer-function -> pyim-entered-refresh-with-thread
Date: Sat, 24 Apr 2021 05:57:11 -0400 (EDT)

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

    pyim-candidates-create-timer-function -> pyim-entered-refresh-with-thread
    
    * pyim-candidates.el (pyim-candidates-create-timer)
    (pyim-candidates-create-timer-function): From ...
    
    * pyim-entered.el (pyim-entered-refresh-timer)
    (pyim-entered-refresh-with-thread): ... to here.
---
 pyim-candidates.el | 15 --------------
 pyim-entered.el    | 59 ++++++++++++++++++++++++++++++++++--------------------
 2 files changed, 37 insertions(+), 37 deletions(-)

diff --git a/pyim-candidates.el b/pyim-candidates.el
index 92aadc7..e4c304e 100644
--- a/pyim-candidates.el
+++ b/pyim-candidates.el
@@ -45,9 +45,6 @@
 (defvar pyim-candidates-last nil
   "上一轮备选词条列表,这个变量主要用于 autoselector 机制.")
 
-(defvar pyim-candidates-create-timer nil
-  "异步创建 candidates 时,使用的 timer.")
-
 (defvar pyim-candidate-position nil
   "当前选择的词条在 ‘pyim-candidates’ 中的位置.
 
@@ -56,18 +53,6 @@
 (pyim-register-local-variables
  '(pyim-candidates pyim-candidate-position))
 
-(defun pyim-candidates-create-timer-function ()
-  "Function used by `pyim-candidates-create-timer'"
-  (let* ((scheme-name (pyim-scheme-name))
-         (words (delete-dups (pyim-candidates-create pyim-imobjs scheme-name 
t))))
-    (when words
-      (setq pyim-candidates words)
-      (pyim-preview-refresh)
-      ;; NEED HELP: 目前只有 posframe 可以正确处理异步刷新 page
-      (when (and (member pyim-page-tooltip '(posframe minibuffer))
-                 (not (eq (selected-window) (minibuffer-window))))
-        (pyim-page-refresh)))))
-
 ;; ** 获取备选词列表
 (defun pyim-candidates-create (imobjs scheme-name &optional async)
   "按照 SCHEME-NAME 对应的输入法方案, 从输入法内部对象列表:
diff --git a/pyim-entered.el b/pyim-entered.el
index 3763ec9..9c3e4c7 100644
--- a/pyim-entered.el
+++ b/pyim-entered.el
@@ -42,6 +42,9 @@
 
 (defvar pyim-entered--exhibit-timer nil)
 
+(defvar pyim-entered-refresh-timer nil
+  "异步处理 intered 时时,使用的 timer.")
+
 (defvar pyim-entered-buffer " *pyim-entered-buffer*"
   "一个 buffer,用来处理用户已经输入的字符串: entered。
 
@@ -170,6 +173,22 @@ TYPE 取值为 point-after, 返回 entered buffer 中 point 之后的字符
 (declare-function pyim-terminate-translation "pyim")
 (declare-function pyim-convert-string-at-point "pyim")
 
+(defun pyim-entered-refresh (&optional no-delay)
+  "延迟 `pyim-entered-exhibit-delay-ms' 显示备选词等待用户选择。"
+  (if (= (length (pyim-entered-get 'point-before)) 0)
+      (pyim-terminate-translation)
+    (when pyim-entered--exhibit-timer
+      (cancel-timer pyim-entered--exhibit-timer))
+    (cond
+     ((or no-delay
+          (not pyim-entered-exhibit-delay-ms)
+          (eq pyim-entered-exhibit-delay-ms 0))
+      (pyim-entered-refresh-1))
+     (t (setq pyim-entered--exhibit-timer
+              (run-with-timer (/ pyim-entered-exhibit-delay-ms 1000.0)
+                              nil
+                              #'pyim-entered-refresh-1))))))
+
 (defun pyim-entered-refresh-1 ()
   "查询 `pyim-entered-buffer' 光标前的拼音字符串(如果光标在行首则为光标后的), 显示备选词等待用户选择。"
   (let* ((scheme-name (pyim-scheme-name))
@@ -180,18 +199,18 @@ TYPE 取值为 point-after, 返回 entered buffer 中 point 之后的字符
     (setq pyim-candidates
           (or (delete-dups (pyim-candidates-create pyim-imobjs scheme-name))
               (list entered-to-translate)))
-    (when pyim-candidates-create-timer
-      (cancel-timer pyim-candidates-create-timer))
-    ;; 延迟1秒异步获取 candidates, pyim 内置的输入法目前不使用异步获取
+    (when pyim-entered-refresh-timer
+      (cancel-timer pyim-entered-refresh-timer))
+    ;; 延迟1秒异步处理 entered, pyim 内置的输入法目前不使用异步获取
     ;; 词条的方式,主要用于 pyim-liberime 支持。
-    (setq pyim-candidates-create-timer
+    (setq pyim-entered-refresh-timer
           (run-with-timer
            1 nil
            (lambda ()
              (if (functionp 'make-thread)
-                 (make-thread #'pyim-candidates-create-timer-function
-                              "pyim-candidates-create")
-               (pyim-candidates-create-timer-function)))))
+                 (make-thread #'pyim-entered-refresh-with-thread
+                              "pyim-entered-refresh-with-thread")
+               (pyim-entered-refresh-with-thread)))))
     ;; 自动上屏功能
     (let ((autoselector-results
            (mapcar (lambda (x)
@@ -250,21 +269,17 @@ TYPE 取值为 point-after, 返回 entered buffer 中 point 之后的字符
           (pyim-preview-refresh)
           (pyim-page-refresh))))))
 
-(defun pyim-entered-refresh (&optional no-delay)
-  "延迟 `pyim-entered-exhibit-delay-ms' 显示备选词等待用户选择。"
-  (if (= (length (pyim-entered-get 'point-before)) 0)
-      (pyim-terminate-translation)
-    (when pyim-entered--exhibit-timer
-      (cancel-timer pyim-entered--exhibit-timer))
-    (cond
-     ((or no-delay
-          (not pyim-entered-exhibit-delay-ms)
-          (eq pyim-entered-exhibit-delay-ms 0))
-      (pyim-entered-refresh-1))
-     (t (setq pyim-entered--exhibit-timer
-              (run-with-timer (/ pyim-entered-exhibit-delay-ms 1000.0)
-                              nil
-                              #'pyim-entered-refresh-1))))))
+(defun pyim-entered-refresh-with-thread ()
+  "Function used by `pyim-entered-refresh-timer'"
+  (let* ((scheme-name (pyim-scheme-name))
+         (words (delete-dups (pyim-candidates-create pyim-imobjs scheme-name 
t))))
+    (when words
+      (setq pyim-candidates words)
+      (pyim-preview-refresh)
+      ;; NEED HELP: 目前只有 posframe 和 minibufer 可以正确处理异步刷新 page
+      (when (and (member pyim-page-tooltip '(posframe minibuffer))
+                 (not (eq (selected-window) (minibuffer-window))))
+        (pyim-page-refresh)))))
 
 ;; ** 与拼音输入相关的用户命令
 (defun pyim-entered-delete-backward-char (&optional n)



reply via email to

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