无法为 emacs 加载 C# 模式,因为“make-local-hook”
本文关键字:因为 make-local-hook 模式 emacs 加载 | 更新日期: 2023-09-27 18:30:26
Mode : http://www.emacswiki.org/emacs/CSharpMode
.log:
Loading /.emacs.d/contrib/dev/csharp-mode.el
Done loading /.emacs.d/contrib/dev/csharp-mode.el
File mode specification error: (void-function make-local-hook)
Loading vc-git...done
When done with a buffer, type C-x #
(No files need saving)
File mode specification error: (void-function make-local-hook)
When done with a buffer, type C-x #
Making completion list... [2 times]
goto-history-element: End of history; no default available [3 times]
or: Symbol's function definition is void: make-local-hook
mouse-minibuffer-check: Minibuffer window is not active
(No files need saving)
When done with a buffer, type C-x #
(No files need saving)
File mode specification error: (void-function make-local-hook)
When done with a buffer, type C-x #
Making completion list... [2 times]
or: Symbol's function definition is void: make-local-hook
为什么呢?我该如何解决它?
make-local-hook
已经过时多年,在Emacs 24中被完全删除。
您应该尝试找到库的更新版本。根据您链接到的 Wiki 页面,最新版本在这里:
http://code.google.com/p/csharpmode/
如果做不到这一点,代码很有可能只包含那些函数调用以保持与 Emacs 20 的向后兼容性,并且只要存在适当的调用add-hook
,您需要做的就是从代码中删除所有(make-local-hook HOOK)
实例。
以下是其旧文档字符串的相关部分:
(使本地钩
子钩子)此功能自 21.1 起已过时; 没有必要了。
使挂钩 HOOK 成为当前缓冲区的本地。 返回值为 HOOK。
你永远不需要调用这个函数,现在"add-hook"会为你做这件事 如果它的 LOCAL 参数是非 nil。
参见 C-hf add-hook
RET