pyim 做了极大的重构,欢迎大家抓 bug

前一段时间添加 rime 支持的时候,相当痛苦,所以狠下心来对 pyim 做了一次较大的重构, 更改如下:

  1. 更新术语,方便对代码的理解
  2. 尽量减少内部变量的数量,尽可能减少内部变量四处 setq 的情况
  3. 外部接口几乎没变,只删除了几个标记为过期的函数,pyim 自己内部的函数,名称几乎变了一大半。。。。

可能有这样那样的 BUG, 希望见谅 :slight_smile:

3 个赞

我靠,原来你是作者....

现在这几个包和chinese-pyim是什么关系?

chinese-pyim 就是 pyim

刚刚更新了一下,切换到中文模式之后,输入还是英文,状态行是这样的:

-灵通-AU英UUU:**–F1 scratch

搞清楚了....

  1. 光标只有在注释里面时,才可以输入中文。
  2. 光标前是汉字字符时,才能输入中文。
  3. 使用 M-j 快捷键,强制将光标前的拼音字符串转换为中文。

请问可以禁止输入法动态调整待选字的顺序吗?

就是不要把刚刚输入过的字摆到前面?

暂时没有这个选项

minibuffer激活输入法,按第一个键时出现这个错误:

Debugger entered–Lisp error: (void-function pyim-page-style-minibuffer-style)
pyim-page-style-minibuffer-style(#<hash-table eql 5/65 0x1213185>)
pyim-page-refresh()
pyim-handle-entered-code()
pyim-self-insert-command()
funcall-interactively(pyim-self-insert-command)
call-interactively(pyim-self-insert-command)
pyim-start-translation(112)
pyim-input-method(112)
read-from-minibuffer("Find file: " “~/” (keymap (keymap (32)) keymap (7 . minibuffer-keyboard-quit) (10 . minibuffer-complete-and-exit) (13 . mi$ completing-read-default("Find file: " read-file-name-internal file-exists-p confirm-after-completion “~/” file-name-history “~/” nil)
-UUU:%–F1 Backtrace Top of 3.1k (1,30) [(Debugger pyim-isearch)] ---------------------------------------------------------------------- Find file: ~/跑
[0] 0:emacs
1:psql- “x1c” 23:49 24-Jan-19

再更新pyim,这些函数都更名了

更新了之后,这样的包名字是正确的吗? minibuffer还是会有错误.

pyim-20190124.1434
pyim-basedict-20170727.259

Debugger entered–Lisp error: (void-function pyim-page-style-minibuffer-style)
pyim-page-style-minibuffer-style(#<hash-table eql 5/65 0x16d1bcd>)
pyim-page-handle()
pyim-entered-handle(“z”)
pyim-self-insert-command()
funcall-interactively(pyim-self-insert-command)
call-interactively(pyim-self-insert-command)
pyim-start-translation(122)
pyim-input-method(122)
read-from-minibuffer("Find file: " “~/” (keymap (keymap (32)) keymap (7 . minibuffer-keyboard-quit) (10 . minibuffer-complete-and-exit) (13 . mi$ completing-read-default("Find file: " read-file-name-internal file-exists-p confirm-after-completion “~/” file-name-history “~/” nil)

确实是bug

已经修复了。。。。。。。。。。。

现在已经可以支持rime了?

1 个赞

通过liberime来支持rime,效果不错,不过 liberime 还不太稳定,维护者也好像太忙。。。

谢谢!!!

刚刚确认已经好了.

我使用win10, 但是我无法基于Msys2编译和安装librime, 因此liberime对我来说现在没法上手使用。

我在win上的emac使用环境是gui-emacs搭配Msys2的posix环境一起使用的(我并不想安装VS,想直接在Msys2上安装librime的环境,进而进行liberime的配置), 但是我看librime的官网给出的win-port都是基于VS编译的方案,于是想在这里向大家求助,意在求知三点:

  • 有没有小伙伴在win上基于Msys2的librime编译成功的例子
  • 如果以上基于Msys2的rime一整套方案配置完成,是否只有通过Msys2安装的emacs可以正常调用liberime(ps: 也就是说外置的emacs-win-port 只能被skr了)
  • 若有解能教我吗?:):sweat_smile: 我想尝个鲜

我也想让在 msys2 中编译 librime 和 liberime, 可惜不熟悉,搞不定

有时候我感觉维护别人的代码,比自己重新编写,要付出更多的努力。。。。

谢谢大佬告知, 那我现在还是用内部hash字典的方式用pyim吧 ,除了内存占用大一点,一切安详 :sunglasses:, 不过如果api没变的话,我是否需要升级?不升应该也没关系吧, 我现在还再用commit:8648d46 的版本,也就是上个月的版本好像。