Meow 和 sis 这两个包存在冲突

原始问题

(defun meow-reverse ()
    "Just exchange point and mark.

This command supports `meow-selection-command-fallback'."
    (interactive)
    (meow--with-selection-fallback
     (meow--execute-kbd-macro meow--kbd-exchange-point-and-mark)
     (if (member last-command
                 '(meow-visit meow-search meow-mark-symbol meow-mark-word))
         (meow--highlight-regexp-in-buffer (car regexp-search-ring))
       (meow--maybe-highlight-num-positions))))

meow-reverse 在我的 doom 配置上无效。

现象

  1. 在打开任意文件中,meow-reverse 不能反转光标
  2. 在 meow-tutor 的 buffer 中可以正常反转
  3. emacs -q -l meow.el 打开文件, meow-reverse 可以正常反转
  4. 其他同样使用到meow--execute-kbd-macro的命令比如 meow-next 工作都正常。
  5. 在 1 的不能反转的 buffer 中,用 macrostep-expand 展开下任意宏后 meow-reverse 可以正常工作。

排查发现

meow--execute-kbd-macro 中的 key-binding 返回为 nil; 但如果在问题 buffer 中 “C-x C-e” 求值 (key-binding [24 24]) (这里[24 24] 为 “C-x C-x”的向量值)能正确返回命令。

求大佬指导我该怎么继续排查?

1 个赞

sis 这个包相关,关掉 sis,正常了。

我记得 sis 和 meow 还会有其他问题,导致我最后不再想用 meow 了…

不需要关掉 sis,参考我的方法 .emacs.d/lib/lib-meow.el at 45d83f99304a37a4b78f3e44e94a5382e64f82dd · LuciusChen/.emacs.d · GitHub

2 个赞