clj-commons / potemkin

some ideas which are almost good
572 stars 53 forks source link

"Use symbol instead of var" on clj-3 branches break stuff #2

Closed lnostdal closed 12 years ago

lnostdal commented 12 years ago

Hi, The switch from (import-fn #'some-fun) to (import-fn some-fn) in the clj-3 branches of lamina, gloss and aleph doesn't seem to work -- and I think this might be because the import-fn macro in potemkin is missing some updates. (?)

lnostdal commented 12 years ago

E.g.,

lamina.core> (import-fn channel/receive) ---> No message. [Thrown class java.lang.NullPointerException]

Restarts: 0: [QUIT] Quit to the SLIME top level

Backtrace: 0: java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:922) 1: clojure.lang.Namespace.find(Namespace.java:188) 2: clojure.core$find_ns.invoke(core.clj:3659) 3: clojure.core$the_ns.invoke(core.clj:3691) 4: clojure.core$intern.invoke(core.clj:5586) 5: potemkin.namespace$import_fn.invoke(namespace.clj:28) 6: clojure.lang.Var.invoke(Var.java:409) 7: clojure.lang.AFn.applyToHelper(AFn.java:167)

..but the old way still works:

lamina.core> (import-fn #'channel/receive)

'lamina.core/receive

lamina.core>

ztellman commented 12 years ago

Hmm, it should work. Make sure you've cleared out the ~/.m2/repository before running lein deps.

On Dec 11, 2011, at 9:27 AM, Lars Rune Nøstdalreply@reply.github.com wrote:

Hi, The switch from (import-fn #'some-fun) to (import-fn some-fn) in the clj-3 branches of lamina, gloss and aleph doesn't seem to work -- and I think this might be because the import-fn macro in potemkin is missing some updates. (?)


Reply to this email directly or view it on GitHub: https://github.com/ztellman/potemkin/issues/2

lnostdal commented 12 years ago

Ok, I've compared md5sums to make 100% sure I'm not getting a stale potemkin-0.1.1-SNAPSHOT.jar while doing lein deps.

I've also re-cloned the git repositories, just to make sure something hasn't gone wrong at that point.

lnostdal commented 12 years ago

This change seems to work:

diff --git a/src/potemkin/namespace.clj b/src/potemkin/namespace.clj index 9687f8d..170af93 100644 --- a/src/potemkin/namespace.clj +++ b/src/potemkin/namespace.clj @@ -12,7 +12,7 @@ "Given a function in another namespace, defines a function with the same name in the current namespace. Argument lists, doc-strings, and original line-numbers are preserved." [sym]

ztellman commented 12 years ago

I'm sorry, I was testing a locally generated jar rather than the one that was actually checked in. I've checked in the changes, it should be working now.

lnostdal commented 12 years ago

Just did a pull and things are OK. :)