[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/pyim f10e097: Add pyim-entered-longest and use it.
From: |
ELPA Syncer |
Subject: |
[elpa] externals/pyim f10e097: Add pyim-entered-longest and use it. |
Date: |
Fri, 7 May 2021 01:57:13 -0400 (EDT) |
branch: externals/pyim
commit f10e097e2380277254c1396a953e766ed17b7327
Author: Feng Shu <tumashu@163.com>
Commit: Feng Shu <tumashu@163.com>
Add pyim-entered-longest and use it.
* pyim.el (pyim-terminate-translation, pyim-create-pyim-word)
(pyim-select-word): Deal with pyim-entered-longest.
* pyim-entered.el (pyim-entered-longest): New variable.
---
pyim-entered.el | 3 +++
pyim.el | 11 +++++++++--
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/pyim-entered.el b/pyim-entered.el
index 3f5d7d9..c30c949 100644
--- a/pyim-entered.el
+++ b/pyim-entered.el
@@ -64,6 +64,9 @@ pyim 使用一个 buffer 来处理 entered, 以实现 “用户输入字符串
继续处理后面的输入,这种方式方便长词的输入;
3. 如果光标在行首,则处理整行。")
+(defvar pyim-entered-longest nil
+ "记录用户在连续选词之前的最长输入,用于全拼输入法多音字矫正。")
+
(defmacro pyim-with-entered-buffer (&rest forms)
(declare (indent 0) (debug t))
`(with-current-buffer (get-buffer-create pyim-entered-buffer)
diff --git a/pyim.el b/pyim.el
index e700df2..ae7c29a 100644
--- a/pyim.el
+++ b/pyim.el
@@ -434,6 +434,7 @@ REFRESH-COMMON-DCACHE 已经废弃,不要再使用了。"
(setq pyim-force-input-chinese nil)
(pyim-page-hide)
(pyim-entered-erase-buffer)
+ (setq pyim-entered-longest nil)
(pyim-entered-refresh-timer-reset)
(let* ((class (pyim-scheme-get-option (pyim-scheme-name) :class))
(func (intern (format "pyim-terminate-translation:%S" class))))
@@ -465,9 +466,8 @@ BUG:拼音无法有效地处理多音字。"
(setq pyim-last-created-word word)
(let* ((scheme-name (pyim-scheme-name))
(class (pyim-scheme-get-option scheme-name :class))
- (entered (pyim-entered-get 'point-before))
(code-prefix (pyim-scheme-get-option scheme-name :code-prefix))
- (codes (pyim-cstring-to-codes word scheme-name entered)))
+ (codes (pyim-cstring-to-codes word scheme-name
pyim-entered-longest)))
;; 保存对应词条的词频
(when (> (length word) 0)
(pyim-dcache-update-iword2count word prepend wordcount-handler))
@@ -590,6 +590,13 @@ FILE 的格式与 `pyim-dcache-export' 生成的文件格式相同,
(defun pyim-select-word ()
"从选词框中选择当前词条,然后删除该词条对应拼音。"
(interactive)
+ ;; 记录用户在没有多次选词前的输入,用于多音字矫正。
+ (setq pyim-entered-longest
+ (let ((entered (pyim-entered-get 'point-before)))
+ (if (> (length pyim-entered-longest)
+ (length entered))
+ pyim-entered-longest
+ entered)))
(if (null pyim-candidates) ; 如果没有选项,输入空格
(progn
(pyim-outcome-handle 'last-char)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals/pyim f10e097: Add pyim-entered-longest and use it.,
ELPA Syncer <=