[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")