nrepl/piggieback

Brakes down in clojure 1.9.0-alpha12

gavlooth opened this issue · 4 comments

It seems to brake when used in clojure 1.90-aopha 12. I get the following error in stack trace

Error loading cemerick.piggieback: clojure.lang.ExceptionInfo: Call to clojure.core/ns did not conform to spec:
In: [1] val: ((require [clojure.string :as string] [cljs.source-map.base64 :as base64])) fails at: [:args] predicate: (cat :docstring (? string?) :attr-map (? map?) :clauses :clojure.core.specs/ns-clauses), Extra input
:clojure.spec/args (cljs.source-map.base64-vlq (require [clojure.string :as string] [cljs.source-map.base64 :as base64]))
#:clojure.spec{:problems [{:path [:args], :reason "Extra input", :pred (cat :docstring (? string?) :attr-map (? map?) :clauses :clojure.core.specs/ns-clauses), :val ((require [clojure.string :as string] [cljs.source-map.base64 :as base64])), :via [], :in [1]}], :args (cljs.source-map.base64-vlq (require [clojure.string :as string] [cljs.source-map.base64 :as base64]))}, compiling:(cljs/source_map/base64_vlq.clj:1:1)
WARNING: pprint already refers to: #'clojure.core/pprint in namespace: puget.printer, being replaced by: #'puget.printer/pprint
.
.
.
Exception in thread "main" java.lang.RuntimeException: Unable to resolve var: cemerick.piggieback/wrap-cljs-repl in this context, compiling:(C:\Users\gavlo\AppData\Local\Temp\form-init1568080918341780644.clj:1:8253).

This appears to be the result of tighter constraints on ns forms in the newer Clojure / ClojureScript, which piggieback doesn't / can't control. Does this code load/compile without piggieback involved?

Yes, without piggieback compiles ok
.

Error comes from cljs stack somewere. require is now enforced to be a keyword :require. Upgrading to clojurescript 1.9.854 fixed the issue for me.

@bhauman just bumped the cljs dep on master, so I guess this should fix the problem.