为何 markdown-mode 要把 after-save-hook 设计成 buffer-local?

如题,在 markdown-mode 中,after-save-hook 变量是 buffer-local 的,why? 这意味着 使用 add-hook 添加 function 到 after-save-hook 后,在 markdown 中无法生效,需要在buffer中手动执行。有没有其他解决办法。

有时候百思不得其解的问题,其实可能是作者一时脑抽。。。。

1 个赞

好吧。我想到了替代的解决办法,给 save-buffer 加个 advice。

好像,还是不行,不能等价。。。

这意味着 使用 add-hook 添加 function 到 after-save-hook 后,在 markdown 中无法生效,需要在buffer中手动执行。

试了下可以生效啊

确实,我用简单的 message 测试没有问题。

简单的看了一下 markdown-mode 的代码,我大概知道原因了: 我绑定到 after-save-hook 的函数用 text properties 设置了 display 属性。markdown-mode中应该有些代码破坏了 text properties 的渲染。