3
有在.emacs中獲得二郎項目路徑defun
,我怎麼能執行一個shell命令執行以下操作:在emacs中使用鋼筋?
cd *~/erlang-project-folder*
make
我用鋼筋搭建我的項目,並且有一個Makefile盡一切努力。
我可以通過覆蓋erlang-compile-function
來編譯,但我對Emacs Lisp不熟悉,請幫忙。
這裏是我的.emacs:
(defun erlang-project-dir()
(let* ((src-path (file-name-directory (buffer-file-name)))
(pos (string-match "/src/" src-path)))
(if pos (substring src-path 0 (+ 1 pos)) src-path)))
;; there is an error: wrong type argument: commandp
(defun my-inferior-erlang-compile()
(shell-command.
(concat (concat (concat "cd" erlang-project-dir) "; make"))))
(defvar erlang-compile-function 'my-inferior-erlang-compile)
嗨,@亞歷克斯,謝謝。但是'(defvar erlang-compile-function'my-inferior-erlang-compile)'報告「錯誤的類型參數:commandp,my-inferior-erlang-compile」 – goofansu
啊,看起來使用劣erlang編譯來編譯erlang環境中的緩衝區,而不是執行外部shell命令。我會建議綁定一些鍵來調用編譯函數,例如'(defun my-erlang-mode-hook()(local-set-key [f9]'my-inferior-erlang-compile)) (add- hook'erlang-mode-hook'my-erlang-mode-hook)' –
我編輯了代碼,添加了'(interactive)',所以這個命令將被視爲命令... –