pyim 代码重构了,用的同学注意一下

如果遇到bug,及时反馈

3 个赞

辛苦了,目前是更新完了吗?今天更新很频繁啊,拉取下断断续续都有新的 commit 提交

不过我看到 4.0 会弃用一些函数,现在主版本号还是 3.6,有啥更新的计划吗?(ps: 3.2 之后的 tag 你都没打)

pyim 入 gnu elpa 了,用 verson: 头管理版本,所以懒得打tag了

1 个赞

基本上更新完了,后续就是修复bug了

pyim的功能大体上不会增加了,后续主要是简化架构,方便同学们理解和定制

1 个赞

辛苦,目前使用我还没遇到什么问题,有问题会及时反馈的

重构后的pyim上屏有些问题: 1.基础架构不 2.基础 3.给出 按2选词后,“基础"直接上屏,选词框消失,后面的候选词"架构”“部”无法选择了。 pyim-20210421.613 无问题。

试试最新代码吧

已验证,正常了。感谢

gccemacs里在执行pyim-page-preview-create:quanpin时会提示 pyim-with-entered-buffer invalid function.

pyim-page.el前面加了(eval-when-compile (require 'pyim-entered)),重新compile之后,目前没有遇到其它问题。

已加,感谢!

如果能改进一下五笔的自动上屏问题就更好了。

五笔自动上屏有什么问题?

五笔里,四码唯一的时候会自动上屏,

例如我打自动这个词,我打thfc,词就会自动上屏。pyim里是没问题的。

如果我想打自动这个词的时候,不小心打错了最后一个字母,打了tyfv,词库里没有tyfv这个码,它就会直接将这四个字母上屏。

这样有点不符合五笔使用者的习惯,习惯应该是四个没有字词的码,应该不上屏。

我刚刚尝试修复了一下,你可以再试试

好的,我回去再试试,这边的网络上不到github。

(defun pyim-autoselector-xingma (&rest _args)
  "适用于型码输入法的自动上屏器.

比如:五笔等型码输入法,重码率很低,90%以上的情况都是选择第一个词
条,自动选择可以减少按空格强制选词的机会。"
  (let* ((scheme-name (pyim-scheme-name))
         (class (pyim-scheme-get-option scheme-name :class))
         (n (pyim-scheme-get-option scheme-name :code-split-length))
         (entered (pyim-entered-get 'point-before)))
    (when (eq class 'xingma)
      (cond
       ((and (= (length entered) n)
             (= (length pyim-candidates) 1)
             ;; 如果没有候选词,pyim 默认将用户输入当做候选词,这时不能自动上屏,
             ;; 因为这种情况往往是用户输入有误,自动上屏之后,调整输入就变得麻烦了。
             (not (equal entered (car pyim-candidates))))
        '(:select current))
       ((> (length entered) n)
        '(:select last))
       (t nil)))))

执行一下这段代码就ok

试用了一下,暂时没有问题,完美!thanks.

有个习惯,还可以讨论一下的。

现在四码,如果没打到候选词不会自动上屏,已经可以了。

如果当我输入了四个没有候选字词的码,我输入第五个字母,前面四个字母就会上屏。

比如,我敲thfv,这四个码没有词库,现在它不会上屏了,我可以回退修改,但如果我手快,敲多个一个任意字母,敲了五个字母,前面的thfv就会自动上屏。

有些输入法遇到这种情况,如微软五笔,敲第五个字母的时候,会将前面四个字母会被清空,只留下第五个字母。有些输入法,则是可以继续输入第五个字母,不清空前面四个码,也不上屏。

这种情况平时其实一般也少遇到,刚刚试了一下其他的输入法,原来它们有各自的处理的方法。