2010-12-28 22 views
2

Ich versuche appengine-magic (0.3.1) Setup mit VimClojure (2.2.0) und Clojure 1.2.0 zu verwenden.Einige Funktionen erscheinen nicht, wenn eine REPL über den Nagelpistole Server läuft

Die Dinge sehen richtig aus, wenn sie über Vanille REPL (lein repl) verwendet werden.

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) 

Aber wenn der gleiche Code wird von VimClojure gesendet Server Nailgun:

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

Einige Funktionen und Makros verschwinden.

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) 

Die gleiche Version von appengine-magic Glas ist auf jeden Fall in dem Classpath.

Also, ist es ein Fehler oder eine Fehlkonfiguration?

Antwort

2

Es sieht eher aus wie eine Funktion für mich.

Überprüfen Sie die letzte Form in https://github.com/gcv/appengine-magic/blob/master/src/appengine_magic/core.clj. Die in diesem Namespace geladenen fns hängen genau davon ab, ob Sie Swank oder die normale REPL ausführen.

Ich kann nicht sprechen, warum das ist, aber es ist eindeutig das beabsichtigte Verhalten der Appengine-Magie.

+0

Ja, ich fand heraus, dass dies der Fall war, warte nur auf den Upstream, um meine Lösung zu ziehen, bevor ich selbst antworten. :) –