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

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

[elpa] externals/pyim 1283ee6599 1/5: Add pyim-entered-in-the-middle-of-


From: ELPA Syncer
Subject: [elpa] externals/pyim 1283ee6599 1/5: Add pyim-entered-in-the-middle-of-entered-p
Date: Mon, 27 Jun 2022 23:57:48 -0400 (EDT)

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

    Add pyim-entered-in-the-middle-of-entered-p
---
 pyim-entered.el     |  6 ++++++
 pyim-process.el     |  4 +---
 tests/pyim-tests.el | 22 ++++++++++++++++++++++
 3 files changed, 29 insertions(+), 3 deletions(-)

diff --git a/pyim-entered.el b/pyim-entered.el
index 2978268858..fa0a6789ad 100644
--- a/pyim-entered.el
+++ b/pyim-entered.el
@@ -79,6 +79,12 @@ TYPE 取值为 point-after, 返回 entered buffer 中 point 之后的字符
   (pyim-entered-with-entered-buffer
     (erase-buffer)))
 
+(defun pyim-entered-in-the-middle-of-entered-p ()
+  "判断 entered buffer 中,光标是否在 entered 字符串中间。"
+  (pyim-entered-with-entered-buffer
+    (and (> (point) 1)
+         (< (point) (point-max)))))
+
 ;; * Footer
 (provide 'pyim-entered)
 
diff --git a/pyim-process.el b/pyim-process.el
index fdd4bafc6c..894db7b8e1 100644
--- a/pyim-process.el
+++ b/pyim-process.el
@@ -829,9 +829,7 @@ BUG:拼音无法有效地处理多音字。"
 (cl-defmethod pyim-process-select-word ((_scheme pyim-scheme-xingma))
   "按照形码规则,对预选词条进行选词操作。"
   (pyim-process-select-word-without-save 'do-not-terminate)
-  (if (pyim-process-with-entered-buffer
-        (and (> (point) 1)
-             (< (point) (point-max))))
+  (if (pyim-entered-in-the-middle-of-entered-p)
       (progn
         (pyim-process-with-entered-buffer
           ;; 把本次已经选择的词条对应的子 entered, 从 entered
diff --git a/tests/pyim-tests.el b/tests/pyim-tests.el
index ce2fb94abd..41124ad7f5 100644
--- a/tests/pyim-tests.el
+++ b/tests/pyim-tests.el
@@ -427,6 +427,28 @@
   (pyim-entered-erase-buffer)
   (should (equal (pyim-entered-get) "")))
 
+(ert-deftest pyim-tests-pyim-entered-in-the-middle-of-entered-p ()
+  (pyim-entered-with-entered-buffer
+    (erase-buffer)
+    (insert "nihao")
+    (goto-char (point-min)))
+  (should-not (pyim-entered-in-the-middle-of-entered-p))
+
+  (pyim-entered-with-entered-buffer
+    (forward-char 1))
+  (should (pyim-entered-in-the-middle-of-entered-p))
+
+  (pyim-entered-with-entered-buffer
+    (goto-char (point-max)))
+  (should-not (pyim-entered-in-the-middle-of-entered-p))
+
+  (pyim-entered-with-entered-buffer
+    (backward-char 1))
+  (should (pyim-entered-in-the-middle-of-entered-p))
+
+  ;; Do not delete.
+  (pyim-entered-erase-buffer))
+
 ;; ** pyim-impobjs 相关单元测试
 (ert-deftest pyim-tests-pyim-imobjs ()
   (let ((pyim-pinyin-fuzzy-alist '(("en" "eng")



reply via email to

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