我想重新定义一个已存在的函数 foo
,但只针对特定的缓冲区。
(defun foo ()
(message "Not done:("))
我希望这样做可以达到我的目的:
(make-local-variable 'foo)
(fset 'foo #'(lambda () (message "Done!")))
但是它并没有起作用。有什么想法吗?
[编辑:或者,因为函数被绑定到一个键上,仅修改当前缓冲区的绑定就足够了。但我不知道怎么做。本地按键映射由主模式中所有缓冲区共享。修改它会修改具有此主模式的所有缓冲区中的绑定。
我唯一能想到的丑陋解决方案是为整个缓冲区设置一个键映射文本属性。这是唯一的解决方法吗?]