我希望在c-mode/C++模式中添加ffap-c-path
的額外路徑,我更喜歡延遲加載機制。有兩種選擇對我來說:如何在Emacs中使用eval-after-load進行c/C++模式設置?
- 使用
add-hook
爲c-mode-hook
/c++-mode-hook
eval-after-load
但作爲@sanityinc在this page說,似乎這裏後者更好。所以我想補充像下面的代碼:
(eval-after-load 'cc-mode
'(progn
(require 'ffap)
(setq fap-c-path (append ffap-c-path '("/usr/lib/llvm-3.1/include")))
)
)
然而,當我後來開了一個C源文件並找到fap-c-path
仍然是舊值。根據文檔,如果cc-mode
是庫/功能,我可以使用eval-after-load 'cc-mode
或eval-after-load "cc-mode"
;但在這裏都不起作用。我看看定義了cc模式的源代碼,並發現它使用cc-provide
代替,它是根本原因嗎?
順便說一句:我也試過add-hook
的方法;新的路徑不追加,但每次我打開另一個C/C++文件時,執行一次代碼,並最終ffap-c-path
包含許多重複的路徑。
感謝您的建議,我會記住它。但這一次是由於我的錯字。 – 2013-04-30 03:09:26