2

VimClojure (2.2.0) と Clojure 1.2.0 でappengine-magic (0.3.1)セットアップを使用しようとしています。

バニラ REPL ( ) を介して使用すると、物事は正しく見えますlein repl

user=> (require '[clojure.contrib.ns-utils :as nsu])
nil
user=> (require '[appengine-magic.core :as ae])
nil
user=> (nsu/ns-vars 'appengine-magic.core)
(appengine-environment-type def-appengine-app
 default-war-root in-appengine-interactive-mode? open-resource-stream
 start start* stop stop* wrap-war-static)

しかし、VimClojure からネイルガン サーバーに同じコードが送信されると、次のようになります。

java -cp "`lein classpath`" vimclojure.nailgun.NGServer 127.0.0.1

一部の関数とマクロが表示されなくなります。

user=> (require '[clojure.contrib.ns-utils :as nsu])
nil
user=> (require '[appengine-magic.core :as ae])
nil
user=> (nsu/ns-vars 'appengine-magic.core)
(appengine-environment-type def-appengine-app
 in-appengine-interactive-mode? open-resource-stream)

同じバージョンのappengine-magicjar がクラスパスにあることは間違いありません。

それで、それはバグですか、それとも設定ミスですか?

4

1 に答える 1

2

それは私には機能のように見えます。

https://github.com/gcv/appengine-magic/blob/master/src/appengine_magic/core.cljの最後のフォームを確認してください。その名前空間にロードされる fns は、Swank を実行しているか通常の REPL を実行しているかに正確に依存します。

その理由について話すことはできませんが、appengine-magic の意図した動作であることは明らかです。

于 2010-12-28T15:40:54.530 に答える