ここで尋ねられ、答えられたように。「lein swank」を使用して、Aquamacs で clojure を実行できました。
スライム/クロージュアを実行する前に、「lein swank」の実行を自動化する必要があります。
- Q : これを自動的に行う方法はありますか? これは、slime/clojure (Mx slime-connect) が呼び出されたときに、コマンド「lein swank」を自動的に実行する方法を意味します。
- Q : 'lein swank' を実行するための elisp コードを作成する必要がある場合、どのようにすればよいですか?
追加した
Jürgen Hötzel の回答に基づいて、elisp を次のように変更しました。
(defun lein-swank () (相互の作用) (let ((default-directory (locate-dominating-file default-directory "/Users/smcho/bin/leiningen"))) (when (not default-directory) (エラー「ライニンゲン プロジェクトではありません。」)) ;; .dir-locals.el を使用して、slime-port をカスタマイズできます。 (let ((proc (start-process "lein-swank" nil "/Users/smcho/bin/leiningen/bin/lein" "swank" (number-to-string 4005)))) (proc時 (process-put proc :output nil) (set-process-sentinel proc (ラムダ (proc イベント) (メッセージ "%s%s: `%S'" (process-get proc :output) proc (replace-regexp-in-string "\n" "" イベント)))) (set-process-filter proc (ラムダ (proc 出力) ;; 接続されるまで出力の最後の行を記録します (エラーメッセージの可能性があります) (process-put proc :output (concat (process-get proc :output) 出力)) (when (string-match "Connection open on" 出力) (slime-connect "localhost" 4005) ;; 出力をさらに処理する必要はありません (set-process-filter proc nil)))) (メッセージ「Swank サーバーを開始しています...」)))))
しかし、このエラーが発生しました。
このディレクトリに project.clj が見つかりません。lein-swank: 「コード 1 で異常終了しました」.
私が見つけたのは、「lein swank」を実行するには pwd を ~/bin/leiningen に変更する必要があるということでした。PATH 文字列内に lein バイナリを配置するだけでは実行されません。