应该是的,紫薯布丁
macism 那个帖子里面的 patch 就是从 emacs-mac 那里经过大佬弄出来的。
我用的 emacs 官网推荐的 emacs-app,好像跟 emacs-mac 不一样,没打那个 patch
是这样的,我之前也用的 brew,也装了 sis 就没这个问题,这次是自己编译的 macsim,把它放到 ~/.local/bin/ 下的,在加载 sis 之后才把它加入 exec-path 里的,就出现了这个问题。因为 sis 也没啥报错,一开始就没定位到是这个问题。
我昨天更新了 sis,结果报这个错:
Error (use-package): sis/:config: Wrong type argument: symbolp, '+org/insert-item-below
我现在把 sis-context-triggers
设置成 nil
来规避这个错误。
瞅一眼你 sis 的配置?
我的配置很简单:
(use-package sis
:config
(setq sis-context-triggers nil)
(add-to-list 'sis-prefix-override-keys "M-s")
(add-to-list 'sis-prefix-override-keys "M-g")
(when IS-MAC
(sis-ism-lazyman-config
"com.apple.keylayout.ABC"
"com.apple.inputmethod.SCIM.Shuangpin"))
(sis-global-inline-mode t)
(sis-global-respect-mode t)
(sis-global-context-mode t))
之前能用,用 package-upgrade-all
更新后,就报这个错误,我对了下更新后的包,应该就是 github 上的最新版。
我这边启用 sis-global-context-mode 的话确实也是会出来和你一样的问题。(我平时不用这个 mode) 建议直接到 github 上给作者报个 issue。
多谢,我看 sis 的作者也会经常看这个帖子,如果他没反馈,我再去 github 上提吧
你那边的配置没有改,只是升级之后出现的,是吧。
我瞧瞧,这几天fix一下。
我也开启了sis-global-context-mode,但是没有啥问题
我知道原因了。。。。fixing。。。
我一直没太理解 sis-global-context-mode,这两天刚好因为这个错误简单浏览了一下代码,是不是通过 sis-context-hooks 和 sis-context-triggers 这两个变量来触发上下文检查进行输入法切换。看 github 上的 README 描述得有些迷糊。
已经fix了。等待melpa库更新吧。
就是这样的。
- hooks是别的package里面提供了某个hook,sis把自己挂上去
- trigger的话,是sis挂在用户执行的某个命令函数上。
多谢解答,那我现在应该用不上 sis-global-context-mode 。我测试了一下,之前的问题 ok 了。 但又出现了一个其他问题。我目前配置中没用 context 模式,然后我启动 emacs,一切 ok,执行 M-x sis-context-mode
也 ok 显示启动正常。但我再次执行 M-x sis-context-mode
来去激活时报如下错误:
Wrong type argument: stringp, sis--context-trigger-advice-+org/insert-item-below
哇,上次commit带来这么多问题。。。
我来fix
context-mode是根据上下文自动切输入法。
比如你当前光标在两个汉字中间,
被hook或者用户的trigger激活,
就自动切到中文输入法。
非常感谢带来这么好用的软件,还这么及时的修复 bug,自己刚学 emacs 不久,不然的话就能帮着修改问题了。
粗略fix了。 但是只保证了global mode正常工作, buffer-local mode要好好厘清才能正常工作。