2012-12-12 4 views
1

필자는 elisp 함수를 작성했으며 부스트 유닛 테스트 매크로를 대화식으로 추가하는 데 사용하는 약간의 defvar을 작성했습니다. Boost와 함께 사용되므로 C++ 모드에서만 필요합니다. 현재는 init 파일에 있으므로 항상 모든 모드에서로드됩니다.이맥스 메이저 모드에 기능을 추가하십시오.

어떻게하면이 기능을 C++ 모드에서만 사용할 수 있습니다 (예 : 주요 모드 자체에 추가 한 것처럼). ,

(eval-after-load "cc-mode" '(require 'boost-unit-test)) 

참고 : 당신이 필요한 경우에만로드 할 작성한 코드를 원하는 경우

+0

정말 당신이 말하는 것에 달려 있습니다. 코드를 느리게로드 하시겠습니까? C++ 모드에서만 키에 바인딩 된 명령을 원하십니까? –

답변

3

, 당신은 (boost-unit-test.el를 말) 자신의 파일에 넣을 수 있고, 당신의 .emacs 당신은 추가 할 수 있습니다에서 이 파일은 귀하의 load-path에 있고 그 중 하나로서 (provide 'boost-unit-test)이 있다고 가정합니다.

이제이 파일이로드되고 나면 변수와 명령이 전역 적으로 정의되며, 이맥스와 같은 방식입니다. 이는 .emacs 파일에 코드를 남겨 두었을 때와 다릅니다. 그리고, 어느 쪽이든, 그것은 한 번만로드되거나 평가 될 것입니다. (당신이 여러 번로드하지 않는 한 -하지만 그렇게해야만합니다).

+0

바로 그게 내가 찾고 있던거야. –

관련 문제