問題タブ [nrepl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
emacs - Emacs、Clojure、lein、および nrepl: *nrepl* バッファーが空白で表示される
で新しいプロジェクトを作成しましたlein
。core.clj
私はemacsで開きます。M-x clojure-mode
、およびを必ず実行しM-x nrepl-enable-on-existing-clojure-buffers
ます。
それから私は実行M-x nrepl-jack-in
し、ミニバッファで取得します
nREPL サーバーを起動しています...
次のようなメッセージが続きます。
接続しました。すべてを最適化すると、必ず不幸になります。-ドナルド・クヌース
バッファー名は です*nrepl*
が、バッファーには Clojure Repl が含まれておらず、代わりに完全に空白になっています。
何かを入力すると(つまり、何でも)、次のようになります。
間違った型引数: integer-or-marker-p、nil
core.clj
バッファに戻って を押すC-c C-l
と、その結果、バッファ内の最後の関数の名前空間名がミニバッファに取得されます。そして、カーソルを関数定義の最後に置いて を押すと、次のC-x C-e
ようになります。
CompilerException java.lang.RuntimeException: Unable to resolve symbol: x in this context, compiling:(NO_SOURCE_PATH:1:1)
を使用して、依存関係のない新しい lein ディレクトリを作成しようとしlein new project-name
ましたが、上記と同じ手順を試したところ、同じ結果が得られました。
他に何を確認できますか、または何が間違っていますか?
編集:追加情報
空の*nrepl*
バッファーに何かを入力し、入力した内容を押しC-x C-e
ようとすると、ミニ バッファーに次のメッセージが表示されます。
Lisp サブプロセスはありません。変数「inferior-lisp-buffer」を参照
また、私は実行しています:
GNU Emacs 24.3.1
Java 1.6.0_27 OpenJDK 64 ビット サーバー VM 上の Leiningen 2.1.2
ubuntu - Emacs で nrepl が動作しない
私はUbuntuマシンで実行しています。emacs23
インストールしましたが、 で動作するようにnREPL
設計されているようですemacs24
。ということで、アンインストールemacs23
、インストールしemacs24
ました。既存の.emacs
ファイルと.emacs.d
ディレクトリを削除しました。
次に、実行M-x package-list-packages
してインストールclojure-mode
し、nrepl
.
で Clojure プロジェクトを作成し、デフォルトファイルlein new foobar
を開こうとしました。core.clj
自動的にClojureモードになりますが、M-x nrepl-jack-in
(core.clj
バッファ内で)入力すると、 と表示されますが、Starting nREPL server...
という名前のバッファは表示されません*nrepl*
(ドキュメントを読むと、期待される結果です)。Starting nREPL server...
ミニバッファーに無期限に表示されます。
これで、という名前のバッファー*nrepl-server*
が作成され、次のように表示されます。
しかし、これはあまり便利ではないようです (そのバッファーで何かを評価するようには見えませんか?!?)。
これについてグーグルを試しましたが、この問題を抱えていると思われる人を見つけることができませんでした。Clojure (特に) をいじってみたいと思いcore.logic
ますが、これは完全に非初心者です。:-(
emacs - emacs の *nrepl* バッファーで Clojure 名前空間を評価する
でプロジェクトを作成した後、emacs でlein new
開いてを起動します。core.clj
nrepl
バッファが表示され、次の*nrepl*
ようになります。
わかりましたが、名前空間を変更したいのでC-c C-e
、名前空間の式を評価することにしました。の式が次のcore.clj
ようになっているとします。
それでも、*nrepl*
バッファでは何も起こりません。必要に応じて、名前空間式をバッファー内に直接入力して評価することができ*nrepl*
、すべてがスムーズに実行されます。
私の質問は: を使用して名前空間式を評価できないのはなぜC-c C-e
ですか? そして、これが正常で正しい動作である場合、その理論的根拠と、望ましい動作を得るための elisp の回避策を知りたいと思います。
emacs - emacs、nrepl、M-. (nrepl-jump): プログラムを検索しています: 許可が拒否されました、解凍します
UPD: 私の OS は Win7 64 ビットです
M- でシンボルの定義にジャンプしようとすると、次のエラーが発生します。
Googleはその問題についてあまり役に立ちません。誰かが私を正しい方向に向けることができますか?
ここに、clojureに関連する私の設定の一部があります: