Actually it's a duplicate of ticket #270
http://www.assembla.com/spaces/clojure/tickets/270

On Thu, May 27, 2010 at 4:52 PM, Jim Menard <jim.men...@gmail.com> wrote:

> Christophe,
>
> Thank you for your research and for opening the ticket.
>
> Jim
>
> On Thu, May 27, 2010 at 9:59 AM, Christophe Grand <christo...@cgrand.net>
> wrote:
> > Hi,
> >
> > On Thu, May 27, 2010 at 3:28 PM, Jim Menard <jim.men...@gmail.com>
> wrote:
> >>
> >> I've given some functions metadata that I want to use elsewhere. My
> >> problem is, I don't see the metadata I've added if I use or require
> >> the namespace; I need to explicitly load the file (or eval the
> >> function definitions manually in slime/swank) to see the metatada.
> >> Here's some simple code that shows my problem. What am I doing wrong,
> >> or not understanding about metadata?
> >>
> >> ;;; ================ src/ctest/funcs.clj ================
> >> (ns ctest.funcs)
> >>
> >> (defn
> >>  #^{:wadl {:url "/f1" :method "GET" :doc "The f1 function."}}
> >>  f1 [] 42)
> >>
> >> (defn
> >>  #^{:wadl {:url "/f2" :method "GET" :doc "The f2 function."}}
> >>  f2 [] "eleventy-seven")
> >>
> >> ;;; ================ src/ctest/core.clj ================
> >> (ns ctest.core
> >>  (:use ctest.funcs))
> >>
> >> (def wadl-meta (list (meta ctest.funcs/f1) (meta ctest.funcs/f2)))
> >
> > There is indeed a bug in how defn copy metadata from the var to the fn:
> > user=> (defn foo {:bar :baz} [] 42)
> > #'user/foo
> > user=> (meta #'foo)
> > {:ns #<Namespace user>, :name foo, :file "NO_SOURCE_PATH", :line 221,
> > :arglists ([]), :bar :baz}
> > user=> (meta foo)
> > {:ns #<Namespace user>, :name foo}
> > user=> (defn foo {:lucy :ethel} [] 43)
> > #'user/foo
> > user=> (meta #'foo)
> > {:ns #<Namespace user>, :name foo, :file "NO_SOURCE_PATH", :line 224,
> > :arglists ([]), :lucy :ethel}
> > user=> (meta foo)
> > {:ns #<Namespace user>, :name foo, :file "NO_SOURCE_PATH", :line 221,
> > :arglists ([]), :bar :baz}
> >
> > There you see that the fn got the previous metadata and not the current.
> I'm
> > going to open a ticket.
> >
> > Christophe
> >
> > --
> > 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
>
>
>
> --
> Jim Menard, http://www.io.com/~jimm/ <http://www.io.com/%7Ejimm/>
>
> --
> 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
>



-- 
Brussels, 23-25/6 http://conj-labs.eu/
Professional: http://cgrand.net/ (fr)
On Clojure: http://clj-me.cgrand.net/ (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