昨日、私が気付いた問題について、何人かの人々( @magnars @dpsutton jumar?)がClojuriansについて話していました。 私はすべての詳細を持っていませんが、私は彼らの説明から借りましたが、報告を手伝うように努めます。
ドキュメントには、「現在のClojureバッファーのClojure名前空間に基づいて関連するREPLバッファーに切り替えるには、 C-c C-z
ください」と記載されています。 cljs-modeから、プロジェクトのcljs-replに切り替える必要があります。 clojureモードからプロジェクトのclj-replに切り替える必要があります。
代わりに、最新のREPLに切り替わります。
@dpsuttonはそれが関連していると言います: //github.com/clojure-emacs/cider/commit/746e4d694104c0c3e0493d84b091a4fd2d54f626
問題を再現するには:
ライニンゲン2.7.1
Emacs:25.2.1
Arch / Antergos Linux
私の考えでは、問題はreplの解決です。 cider-current-connection
では、複数の接続がある場合、最新の接続をバンクするだけですが、これは私には間違っているようです。 これは、さらに下がるべき解決戦略のように聞こえます。 clj replにロードされているcljsバッファーのインスタンスと、他のプロジェクトreplにロードされているcljファイルがあります。
(cond
((not connections) nil)
;; if you're in a REPL buffer, it's the connection buffer
((and (derived-mode-p 'cider-repl-mode) (right-type-p (current-buffer) type)))
((eq cider-request-dispatch 'static) (car connections))
((= 1 (length connections)) (right-type-p (car connections) type))
(t (let ((project-connections (cider-find-connection-buffer-for-project-directory
nil :all-connections))
(guessed-type (or type (cider-connection-type-for-buffer))))
(or
;; cljc
(and (equal guessed-type "multi")
(most-recent-buf project-connections nil))
;; clj or cljs
(and guessed-type
(or (most-recent-buf project-connections guessed-type)
(most-recent-buf connections guessed-type)))
;; when type was not specified or guessed
(most-recent-buf project-connections type)
(most-recent-buf connections type)))))
問題は直接cider-switch-to-repl-buffer
ます。 ところで、同じ問題がcider-switch-to-last-clojure-buffer
ます。 見ていきます。
これは少なくともCLJSのケースを解決するPR#2085です。
私にとって、CLJCファイルのどこに切り替えるかは明確ではありません。
最も参考になるコメント
これは少なくともCLJSのケースを解決するPR#2085です。
私にとって、CLJCファイルのどこに切り替えるかは明確ではありません。