很久以前,當我編寫我的.emacs安裝程序[1]時,我使用shell腳本來編譯和加入整個事情。問題是現在很舊,「脾氣暴躁」,所以我現在重寫它來代替的東西,如:.emacs,automake和cmake
(defmacro make-new-comment(mode face strcom color1 color2)
(list 'progn
`(make-face ',face)
`(if (not (assoc ,strcom ,(intern (concat (symbol-name mode) "-comments-alist"))))
(setf ,(intern (concat (symbol-name mode) "-comments-alist"))
(append ,(intern (concat (symbol-name mode) "-comments-alist")) '((,strcom . ,face)))
)
)
`(modify-face ',face ,color1 ,color2 nil t nil nil nil nil)
)
)
和事發生在我。編譯時我訪問幾個給出系統信息的環境變量,例如[2],大多數程序的全名由一些使用comint [3]的模式調用。而不是閱讀環境變量,我可以使用一些類似autoconf的工具來調整.emacs文件,然後編譯它們。
問題是,autoconf只是簡單的醜陋。我考慮過cmake,但是構建自己的構建系統時文檔非常差。我不熟悉替代系統。
對此提出建議?
[1]:爲了說清楚,通過.emacs設置我的意思是我有30個左右的文件和兩個子代碼。更不用說幾個包(在包含時)並不是標準emacs發行版的一部分。
[2]我用例如「」代替了,因爲顯然很多人不知道,例如,無論是他們還是他們不知道一個例子。
[3]如diff-mode和ruby-mode。
爲什麼你不能只是改變你的PATH設置來找到像diff一樣的常見程序? – 2010-09-05 20:54:36
爲什麼你需要設置一些環境變量來查找像diff或grep這樣的工具,這些工具通常應該在你的PATH上? – 2010-09-06 15:21:24
你爲什麼完全改變這個問題。請開始一個新問題並將其恢復。謝謝。 – ocodo 2010-09-07 02:13:34