swank.commands.basic> (find-ns-definition 'clojure.set)
(("clojure.set" (:location (:zip
"/home/scott/project/lib/clojure-1.2.0-master-20100813.160144-94.jar"
"clojure/set.clj") (:line 1) nil)))

Scott


On Wed, Sep 29, 2010 at 6:34 PM, Jeff Valk <jv-li...@tx.rr.com> wrote:

> On Wed, 29 Sep 2010 at 15:18, David Jagoe wrote:
>
> > Anyone know of a utility that returns a absolute filename given a
> > namespace symbol?
>
> If you're using Emacs/SLIME, you could use swank-clojure's classpath
> browsing information. The var "available-classes" in namespace
> "swank.util.class-browse" holds clojure namespaces and java classes on the
> classpath as a list of maps.
>
> For example to see where the clojure.set namespace comes from:
>
> user> (clojure.pprint/pprint
>       (filter #(= (:name %) "clojure.set")
>               swank.util.class-browse/available-classes))
>
> ({:loc "/home/jeff/.clojure/clojure-1.3.0-alpha1.jar",
>  :file "clojure/set__init.class",
>  :name "clojure.set"})
>
> The same applies to java classes:
>
> user> (clojure.pprint/pprint
>       (filter #(= (:name %) "java.net.Socket")
>               swank.util.class-browse/available-classes))
>
> ({:loc "/usr/lib/jvm/java-6-openjdk/jre/lib/rt.jar",
>  :file "java/net/Socket.class",
>  :name "java.net.Socket"})
>
> The map keys are as follows:
>  :name  Java class or Clojure namespace name
>  :loc   Classpath entry (directory or jar) on which the class is located
>  :file  Path of the class file, relative to :loc
>
> Also see: (doc swank.util.class-browse)
>
> Hope this helps!
>
> - Jeff
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com<clojure%2bunsubscr...@googlegroups.com>
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to