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

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

[elpa] externals/pyim de55fbdf97 5/5: Simplify pyim-process--auto-select


From: ELPA Syncer
Subject: [elpa] externals/pyim de55fbdf97 5/5: Simplify pyim-process--auto-select
Date: Mon, 27 Jun 2022 23:57:48 -0400 (EDT)

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

    Simplify pyim-process--auto-select
---
 pyim-process.el | 35 +++++++++++++++++++++--------------
 1 file changed, 21 insertions(+), 14 deletions(-)

diff --git a/pyim-process.el b/pyim-process.el
index 6ebbf65789..b2877d9757 100644
--- a/pyim-process.el
+++ b/pyim-process.el
@@ -505,20 +505,7 @@ imobj 组合构成在一起,构成了 imobjs 这个概念。比如:
          (select-current-word
           (pyim-process--autoselector-find-result results 'current)))
     (when (or select-last-word select-current-word)
-      (let* ((str (plist-get (if select-last-word
-                                 select-last-word
-                               select-current-word)
-                             :replace-with))
-             (candidates
-              (if select-last-word
-                  (pyim-process-get-last-candidates)
-                (pyim-process-get-candidates)))
-             (pyim-process--candidates
-              (if (and str (stringp str))
-                  (list str)
-                candidates)))
-        (pyim-process-select-word-without-save 'do-not-terminate)
-        (pyim-process-create-word (pyim-process-get-select-result) t))
+      (pyim-process--auto-select-word select-last-word select-current-word)
       ;; autoselector 机制已经触发的时候,如果发现 entered buffer 中
       ;; point 后面还有未处理的输入,就将其转到下一轮处理,这种情况
       ;; 很少出现,一般是型码输入法,entered 编辑的时候有可能触发。
@@ -548,6 +535,26 @@ imobj 组合构成在一起,构成了 imobjs 这个概念。比如:
                 (equal (plist-get x :select) type))
               results))
 
+(defun pyim-process--auto-select-word (select-last-word select-current-word)
+  (let ((pyim-process--candidates
+         (pyim-process--get-autoselect-candidates
+          select-last-word select-current-word)))
+    (pyim-process-select-word-without-save 'do-not-terminate)
+    (pyim-process-create-word (pyim-process-get-select-result) t)))
+
+(defun pyim-process--get-autoselect-candidates (select-last-word 
select-current-word)
+  (let* ((str (plist-get (if select-last-word
+                             select-last-word
+                           select-current-word)
+                         :replace-with))
+         (candidates
+          (if select-last-word
+              (pyim-process-get-last-candidates)
+            (pyim-process-get-candidates))))
+    (if (and str (stringp str))
+        (list str)
+      candidates)))
+
 (defun pyim-process-get-last-candidates ()
   pyim-process--last-candidates)
 



reply via email to

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