Некоторые функции не отображаются при запуске REPL через сервер nailgun

Я пытаюсь использовать приложение appengine-magic (0.3.1) с VimClojure (2.2.0) и Clojure 1.2.0.

Вещи выглядят правильно при использовании через ванильный 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 на сервер nailgun:

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-magic кувшин определенно в пути к классу.

Итак, это ошибка или неправильная конфигурация?

1 ответ

Решение

Это больше похоже на особенность для меня.

Проверьте последнюю форму в https://github.com/gcv/appengine-magic/blob/master/src/appengine_magic/core.clj. Fns, загруженные в это пространство имен, точно зависят от того, используете ли вы Swank или обычный REPL.

Я не могу говорить, почему это так, но это определенно предполагаемое поведение магии аппинжина.

Другие вопросы по тегам