在 .emacs 中有一个defun
获取 erlang 项目路径的内容,我如何执行 shell 命令来执行以下操作:
cd *~/erlang-project-folder*
make
我正在使用 rebar 来构建我的项目,并且有一个 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)