我希望ffap-c-path
在 c-mode/c++-mode 中添加额外的路径,我更喜欢延迟加载机制。对我来说有两个选择:
- 用于/
add-hook
_c-mode-hook
c++-mode-hook
eval-after-load
但正如@sanityinc 在此页面中所说,似乎后者更好。所以我添加如下代码:
(eval-after-load 'cc-mode
'(progn
(require 'ffap)
(setq fap-c-path (append ffap-c-path '("/usr/lib/llvm-3.1/include")))
)
)
但是,当我后来打开 ac 源文件并发现它fap-c-path
仍然是旧值时。根据文档,我可以使用eval-after-load 'cc-mode
或者eval-after-load "cc-mode"
是否cc-mode
是库/功能;但在这里都不起作用。我查看了定义cc-mode的源代码,发现它使用acc-provide
代替,是根本原因吗?
BTW:我也尝试过这种add-hook
方法;新路径确实附加,但每次我打开另一个 c/c++ 文件时,代码都会执行一次,最后ffap-c-path
包含许多重复的路径。