Thanks. That is indeed what fixed it! And macroexpand (and pr in general) should have an option to mark what is a list and what is a cons thingy. That is confusing.
On Feb 2, 2011, at 1:48 AM, George Jahad wrote: > As usual, Meikel has the right answer. But I didn't quite get it at > first. > > It looks like syntax-quote generates cons's, not lists: > user> (type (nth `(handler-case :type (println "test") (~'handle foo)) > 3)) > clojure.lang.Cons > > Your macroexpand-1 example worked because the reader doesn't > distinguish between cons's and lists. > > Because handler-case is expecting a list and syntax-quote won't > generate one, you'll have to write your macro like this: > (defmacro test-failure > [& forms] > `(handler-case :type > ~@forms > ~(list 'handle :error/error > '(println "error happened")))) > > Finally, a shameless plug: you could have used the cdt, or debug-repl > to set a break around line 92 and figure it out yourself. That's what > I did. > > > On Feb 1, 2:31 pm, Meikel Brandmeyer <m...@kotka.de> wrote: >> Hi, >> >> the failing part is actually not the comparison of the symbols, but the >> check for listness. >> >> user=> (list? (nth `(handler-case :type (println "test") (~'handle foo)) 3)) >> false >> user=> (seq? (nth `(handler-case :type (println "test") (~'handle foo)) 3)) >> true >> >> Sincerely >> Meikel > > -- > 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