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

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

[elpa] externals/pyim c1a1aab844 17/20: Add pyim-page-numeric-key-valid-


From: ELPA Syncer
Subject: [elpa] externals/pyim c1a1aab844 17/20: Add pyim-page-numeric-key-valid-p
Date: Fri, 24 Jun 2022 03:57:56 -0400 (EDT)

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

    Add pyim-page-numeric-key-valid-p
---
 pyim-page.el | 13 +++++++++++++
 pyim.el      | 12 ++----------
 2 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/pyim-page.el b/pyim-page.el
index 3a56adde2d..1a215a94ca 100644
--- a/pyim-page.el
+++ b/pyim-page.el
@@ -584,6 +584,19 @@ pyim-page 的核心的功能,为此增加代码的复杂度和测试的难度
           maxpos)))
       (pyim-process-ui-refresh))))
 
+(defun pyim-page-numeric-key-valid-p (num-key)
+  "判断 NUM-KEY 是否是一个有效的数字选择键。"
+  (let ((index (if (numberp num-key)
+                   (- num-key 1)
+                 0))
+        (end (pyim-page--end)))
+    (when (= index -1) (setq index 9))
+    (if (> (+ index (pyim-page--start)) end)
+        (progn (pyim-page-refresh) nil)
+      (pyim-process-set-candidate-position
+       (+ (pyim-page--start) index))
+      t)))
+
 (defun pyim-page-previous-page (arg)
   (interactive "p")
   (pyim-page-next-page (- arg)))
diff --git a/pyim.el b/pyim.el
index 4152cc3e11..732b9e3da5 100644
--- a/pyim.el
+++ b/pyim.el
@@ -631,16 +631,8 @@ FILE 的格式与 `pyim-dcache-export' 生成的文件格式相同,
           (progn
             (pyim-process-outcome-handle 'last-char)
             (pyim-process-terminate))
-        (let ((index (if (numberp n)
-                         (- n 1)
-                       0))
-              (end (pyim-page--end)))
-          (when (= index -1) (setq index 9))
-          (if (> (+ index (pyim-page--start)) end)
-              (pyim-page-refresh)
-            (pyim-process-set-candidate-position
-             (+ (pyim-page--start) index))
-            (pyim-select-word))))
+        (when (pyim-page-numeric-key-valid-p n)
+          (pyim-select-word)))
     ;; 有些输入法使用数字键编码,这种情况下,数字键就
     ;; 不能用来选词了。
     (call-interactively #'pyim-self-insert-command)))



reply via email to

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