Comments (6)
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>
from potemkin.
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ΓΈ[email protected] 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:
#2
from potemkin.
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.
from potemkin.
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]
- (let [m (meta (eval sym))
- (let [m (eval `(meta (var ~sym)))
m (meta (intern (:ns m) (:name m)))
n (:name m)
arglists (:arglists m)
from potemkin.
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.
from potemkin.
Just did a pull and things are OK. :)
from potemkin.
Related Issues (20)
- Source for 0.3.13 HOT 2
- Macros define var even if not evaluated HOT 1
- Any chance of a version of import-vars that works for cljc? HOT 1
- Empty defprotocol+ bodies cause definition to not occur HOT 2
- Add examples for optional names to README
- Reconsider ClojureScript support? HOT 1
- Document how `import-vars` interacts with direct-linking and namespace reloading HOT 2
- def-derived-map has a broken hashCode if any key is nil HOT 3
- Metadata handling by `postwalk` in some cases
- Reliable JVM crash using definterface+ HOT 4
- wow, awesome naming! HOT 3
- def-map-type's predefined count doesn't run in constant time HOT 1
- Boxed math warning at unchecked-add
- Question: why so many ancestors difference betwence Clj map and a PotemkinMap? HOT 1
- Top-level namespace breaks jdeps analysis HOT 2
- docs: describe defprocotol+ HOT 9
- docs: add caveat about import-vars? HOT 2
- `def-map-type` breaks in namespaces that shadow core Clojure methods like `instance?`
- Potential breakage
- potemkin maps are `(instance? java.util.Iterator)` but clojure maps are not
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from potemkin.