我正在尝试添加一个 C++ 模式挂钩以将 C++11 关键字添加到适当的关键字列表(在 Emacs 源代码的lisp/progmodes/cc-langs.el中定义)。作为一个最小的例子,我开始c-modifier-kwds
尝试将以下内容添加到我的 .emacs 文件中:
(add-hook 'c++-mode-hook
(lambda ()
(c-lang-defconst c-modifier-kwds
c++
(append '("thread_local" "noexcept")
(c-lang-const c-modifier-kwds))))
t)
(我从这个 C++11 模式实现中复制了c-lang-defconst
语句。但是,我不想创建一个全新的模式,我只想添加到常规 C++ 模式。)
那没有用(我也没想到会这样)。我还尝试了以下方法:
(add-hook 'c++-mode-hook
(lambda ()
(setq (c-lang-defconst c-modifier-kwds)
(append '("thread_local" "noexcept")
(c-lang-const c-modifier-kwds))))
t)
那也没有用。
这样做的正确方法是什么?
如果没有正确的方法,那么这样做的好方法是什么?