2012-11-05 36 views
3

當解決this問題時,我發現我需要禁用站點式init文件才能運行我的emacs + CEDET(當使用emacs --no-site-file啓動emacs時一切正常,但沒有附加參數就會被破壞)。如何永久禁用emacs站點啓動文件?

我想永久禁用基於站點的初始化文件,但因爲我在啓動emacs(啓動器/面板/終端)時使用了幾種不同的方法/方法,我不認爲它在我的.zshrc中獲得'工作。

我需要一種方法來永久禁用所有站點啓動文件。有沒有簡單的方法來實現這一點?謝謝!

+0

實際上「破」了什麼? – PascalVKooten

+1

如果我正確地理解了這個問題,'gnus'不是自動加載的,而是顯式加載的,然後加載'auth-source',加載'eieio.el',然後我可以使用我的'.emacs.d/init.el加載CEDET '。不幸的是,CEDET要求eieio自己加載。我追溯了上面鏈接到這個衝突的問題。在我看來,完全禁用site-init文件是最好的/最簡單的解決方案,不是嗎? – elemakil

回答

1

/usr/local/bin/emacs中創建包裝應允許您覆蓋系統範圍內的默認emacs,前提是您擁有寫入訪問權限和一個健全的PATH

話雖如此,建議eieio加載cedet米是一個更充分的解決方法。

+0

我如何建議'eieio'在加載之前加載cedet? – elemakil

+0

'(defadvice'eieio(在激活編譯之前)(需要'cedet)')......不在我的電腦上,所以可能不完全正確。 – tripleee

+0

我現在用了包裝方法;它似乎是最簡單的解決方案,直到我有時間自己編譯emacs。 – elemakil

1

要回答具體問題,無法構建自己的Emacs版本(或者,如您所述,始終使用--no-site-file運行)禁用site-start文件是不可能的。

如果你看一看該變量site-run-file的文件,你會看到:

運行時加載順序是:1。在這個變量(site-run-file)描述文件,如果 非-零; 2. ~/.emacs'; 3. default.el'。

如果有-q運行Emacs是不足以解決問題,你可以通過設置實現在你的.emacs:

(setq inhibit-default-init t) 

之所以這麼說,這是相當直截了當地建立/安裝你擁有Emacs。您幾乎可以剪切/粘貼this page上列出的命令(它們是./configure; make; make install)。

+0

當我省略「標準」站點運行文件時,是否需要應用任何附加的'./configure'選項(前綴除外)? – elemakil

+1

@elemakil不,默認情況下沒有站點啓動文件(至少我的版本沒有任何文件)。 –