Fork me on GitHub
#cljs-dev
<
2017-06-15
>
cgrand09:06:51

An interesting behaviour:

Lumo 1.4.1
ClojureScript 1.9.521
Node.js v7.9.0
 Docs: (doc function-name-here)
 Exit: Control+D or :cljs/quit or exit

cljs.user=> (doc doc)
-------------------------
lumo.repl/doc
([name])
Macro
  Prints documentation for a var or special form given its name
nil
cljs.user=> (find-ns 'lumo.repl)
#object[cljs.core.Namespace]
cljs.user=> (doc doc)
WARNING: Use of undeclared Var cljs.user/doc at line 1
WARNING: Use of undeclared Var cljs.user/doc at line 1
TypeError: Cannot read property 'call' of undefined

cgrand09:06:12

(find-ns 'cljs.core) causes all further macro resolution (for cljs.core) to fail

dnolen13:06:00

@cgrand thanks for the patch, applying now

mfikes19:06:41

This ticket (which makes recur to protocol method heads work like Clojure where you omit the target object) is fairly challenging IMHO, in terms of not breaking existing code and covering the right cases. Worth testing and/or providing feedback. https://dev.clojure.org/jira/browse/CLJS-2085

dnolen19:06:51

@mfikes cursory reading looks good and the patch does what I would expect, will do a deeper read later, thanks!

mfikes19:06:15

Thanks. That change is a bit "scarier" than the usual, so no need to rush it.

dnolen19:06:46

@mfikes out of curiosity does this trigger any warnings in ClojureScript itself?

mfikes19:06:20

Ahh. No, surprisingly. It does in Planck where it should

WARNING: Ignoring target object "this" passed in recur to protocol method head at line 88 /Users/mfikes/Projects/planck/planck-cljs/src/planck/core.cljs
WARNING: Ignoring target object "this" passed in recur to protocol method head at line 77 /Users/mfikes/Projects/planck/planck-cljs/src/planck/core.cljs

dnolen21:06:15

@mfikes your fix looked fine to me, merged