请问如何对于某些特定的command禁用post-command-hook? 比如我不想在mouse-drag-region后运行post-command-hook中的某一个函数。
用 advice 再 setq-local post-command-hook 为 nil (不知道有没有用,没试过
谢谢回复,但这和我想要的不太一样,setq-local会让当前buffer中所有的command都失去post-command-hook。
advice around 然后 let,不会对别的 command 产生影响吧
(advice-add
'some-function
:around
(defun some-function-advice (&rest args)
(unless (eq this-command 'mouse-drag-region)
(apply args))))
厉害!这个可以,以前没了解过this-command.
[pre,post]-command-hook
是调用最频繁的 hook,使用需谨慎。
1 个赞