emacs kbd宏 - 错误地记录密钥

时间:2016-06-14 23:41:10

标签: emacs

根据这个post,我在我的.emacs文件中定义了eval-and-replace。

然而,当我尝试使用宏来评估和替换下面的sexp列表时,它会在我的mac上搞砸了。在我的Linux机器上,或者只使用单个性别进行eval-and-replace,它会起作用。

(+ 1 2)
(+ 1 2)
(+ 1 2)
(+ 1 2)
(+ 1 2)

所以从每个sexp的开头开始,我定义的宏如下:C-e C-c e <down> C-a

但是当我运行宏步进器时,实际的宏是C-e C-e C-c C-c ee <down> C-a。我想知道为什么会两次记录一些命令。

我也从宏步进器Error in post-command-hook (kmacro-step-edit-post-command): (void variable kmacro-step-edit-active

中得到错误

根据wiki post-command-hook与上一个命令相关。但我没有关于如何解决这个问题的线索。

1 个答案:

答案 0 :(得分:1)

在我的.emacs文件中注释掉一些部分之后,我发现flash-paren.el文件中存在一个错误,它在定义kbd宏但不执行宏时闪烁了paren。

(not (defining-kbd-macro))函数中添加flash-paren-check可以解决问题。

所以这不是硬件问题。