请问如何对于特定的command禁用post-command-hook?

请问如何对于某些特定的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 个赞