2012-05-04 40 views
2

因此,list-load-path-shadows會告訴哪些.el文件影響其他文件。大多數情況下,在我的emacs發行版中找到的本機文件會影響我下載的新文件,這些文件是我預先加載到init文件中的。如何從Emacs目錄中映射.el文件與我在init文件中指定的文件

例如,我克隆了cedet存儲庫,並且始終保持最新狀態,但Emacs 23.4中的cedet文件隱藏了我在init文件中加載的較新的cedet文件。

我無法將cedet克隆在/ lisp/cedet目錄中,因爲像eieio或speedbar這樣的包仍然不會被覆蓋,因爲它們位於不同的文件夾中。 現在,臨時解決方案是刪除與emacs捆綁在一起的較舊軟件包,以便優先於通過我的init文件加載的軟件包。

有沒有一種方法來優先我的初始化文件的負載超過默認的emacs包的負載?

回答

2

如果使用CEDET 1.0或1.1的基本安裝說明做工精細,正面是不同的。如果您使用從使用新的命名方案的bzr樹幹CEDET,你需要使用:

(load-file "/home/user/cedet/cedet-devel-load.el") 

將執行必要的魔術刪除內置的負載路徑CEDET,並安裝新的CEDET到您的負載路徑。

查看CEDET bzr trunk的INSTALL文件以獲取更多信息。

+0

我想這是唯一的長期解決方案。之前我曾經手動從emacs中刪除捆綁的CEDET,並在cc模式文件打開時加載完整的CEDET。然而,這導致了其他一些混亂的事情發生 – octi

1

把CEDET庫目錄在你的,因爲許多名稱load-path和Emacs會選擇它從CEDET面積達...

+0

所以現在我的加載路徑會添加.emacs.d的所有子目錄,如下所示: (progn(cd「〜/ .emacs.d /」)(normal-top-level-add-subdirs-to-load-路徑)) 和cedet在〜/ .emacs.d/plugins/cedet下,我只有在cc模式被觸發時才加載,因爲加載需要幾秒鐘(儘管是字節編譯),而且我不需要每時每刻。但是,如果需要的話,我寧願它影響本地的Emacs捆綁cedet – octi

相關問題