ffap-c-path
c-mode/c++-mode に追加のパスを追加したいと考えており、遅延読み込みメカニズムを好みます。私には2つの選択肢があります:
- /
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 が定義されているソース コードを調べたところ、cc-provide
代わりに a が使用されていることがわかりました。それが根本的な原因ですか?
ところで:私もadd-hook
アプローチを試みました。新しいパスは追加されますが、別の c/c++ ファイルを開くたびに、コードが 1 回実行され、最終的ffap-c-path
に多くの重複したパスが含まれます。