根据这个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
与上一个命令相关。但我没有关于如何解决这个问题的线索。
答案 0 :(得分:1)
在我的.emacs文件中注释掉一些部分之后,我发现flash-paren.el文件中存在一个错误,它在定义kbd宏但不执行宏时闪烁了paren。
在(not (defining-kbd-macro))
函数中添加flash-paren-check
可以解决问题。
所以这不是硬件问题。