Thanks for the report Praki.  Definitely a bug; I created
http://dev.clojure.org/jira/browse/CLJ-817 with a patch.  I expect a
fix will make it into the next beta.

Best,
Alan
Clojure/core

On Sat, Jun 25, 2011 at 1:25 PM, Praki <praki.prak...@gmail.com> wrote:
> This looks like an issue with hyphenated attribute names in deftype.
> defrecord seems to be fine.
>
> user> *clojure-version*
> {:major 1, :minor 3, :incremental 0, :qualifier "beta1"}
> user> (deftype Foo [foo])
> user.Foo
> user> (Foo. 1)
> #user.Foo[1]
> user> (deftype Bar [bar-id])
> user.Bar
> user> (Bar. 1)
> ; Evaluation aborted.
> user>
>
> The stack trace is:
>
> No matching field found: bar-id for class user.Bar
>  [Thrown class java.lang.IllegalArgumentException]
>
> Restarts:
>  0: [QUIT] Quit to the SLIME top level
>
> Backtrace:
>  0: clojure.lang.Reflector.getInstanceField(Reflector.java:289)
>  1: clojure.core$print_deftype
> $iter__5055__5059$fn__5060$fn__5061.invoke(core_print.clj:246)
>  2: clojure.core$print_deftype
> $iter__5055__5059$fn__5060.invoke(core_print.clj:245)
>  3: clojure.lang.LazySeq.sval(LazySeq.java:42)
>  4: clojure.lang.LazySeq.seq(LazySeq.java:60)
>  5: clojure.lang.RT.seq(RT.java:466)
>  6: clojure.core$seq.invoke(core.clj:133)
>  7: clojure.core$print_sequential.invoke(core_print.clj:46)
>  8: clojure.core$print_deftype.invoke(core_print.clj:247)
>  9: clojure.core$fn__5070.invoke(core_print.clj:250)
>  10: clojure.lang.MultiFn.invoke(MultiFn.java:167)
>  11: clojure.core$pr_on.invoke(core.clj:3244)
>  12: clojure.core$pr.invoke(core.clj:3256)
>  13: clojure.lang.AFn.applyToHelper(AFn.java:161)
>  14: clojure.lang.RestFn.applyTo(RestFn.java:132)
>  15: clojure.core$apply.invoke(core.clj:600)
>  16: clojure.core$pr_str.doInvoke(core.clj:4184)
>  17: clojure.lang.RestFn.invoke(RestFn.java:408)
>  18: swank.commands.basic
> $eval807$interactive_eval__808.invoke(basic.clj:66)
>  19: clojure.lang.Var.invoke(Var.java:401)
>  20: user$eval1672.invoke(NO_SOURCE_FILE)
>  21: clojure.lang.Compiler.eval(Compiler.java:6406)
>  22: clojure.lang.Compiler.eval(Compiler.java:6372)
>  23: clojure.core$eval.invoke(core.clj:2745)
>  24: swank.core$eval_in_emacs_package.invoke(core.clj:92)
>  25: swank.core$eval_for_emacs.invoke(core.clj:239)
>  26: clojure.lang.Var.invoke(Var.java:409)
>  27: clojure.lang.AFn.applyToHelper(AFn.java:167)
>  28: clojure.lang.Var.applyTo(Var.java:518)
>  29: clojure.core$apply.invoke(core.clj:600)
>  30: swank.core$eval_from_control.invoke(core.clj:99)
>  31: swank.core$eval_loop.invoke(core.clj:104)
>  32: swank.core$spawn_repl_thread$fn__494$fn__495.invoke(core.clj:309)
>  33: clojure.lang.AFn.applyToHelper(AFn.java:159)
>  34: clojure.lang.AFn.applyTo(AFn.java:151)
>  35: clojure.core$apply.invoke(core.clj:600)
>  36: swank.core$spawn_repl_thread$fn__494.doInvoke(core.clj:306)
>  37: clojure.lang.RestFn.invoke(RestFn.java:397)
>  38: clojure.lang.AFn.run(AFn.java:24)
>  39: java.lang.Thread.run(Thread.java:662)
>
> --
> 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
>

-- 
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