Hi Miki,
 Just to elaborate on what I said before, session# creates a new symbol
using gensym with a prefix session. It avoids accidental variable capture.
Sunil.

On Mon, Nov 8, 2010 at 8:40 PM, Sunil S Nandihalli <
sunil.nandiha...@gmail.com> wrote:

> use session# instead of session .. I think that should work.. try it..
>
>
> On Mon, Nov 8, 2010 at 8:32 PM, Miki <miki.teb...@gmail.com> wrote:
>
>> Greetings,
>>
>> I need some help with the 1'st macro I'm writing.
>> I have many tests in the format
>>
>> (deftest user-test
>>  (let [session (test-session :authorization)]
>>    (dispatcher "USER bugs" session)
>>    (is (= (:user @session) "bugs"))
>>    (is (= (get-one session) "+OK Hello bugs\n"))))
>>
>> I've tried writing
>>
>> (defmacro def-dispatcher-test [test-name state command & body]
>>  `(deftest ~test-name
>>     (let [session (test-session ~state)]
>>       (dispatcher ~command session)
>>       ~...@body)))
>>
>> (def-dispatcher-test user-test :authorization "USER bugs"
>>    (is (= (:user @session) "bugs"))
>>    (is (= (get-one session) "+OK Hello bugs\n")))
>>
>>
>> But I get the following error;
>>
>> Caused by: java.lang.Exception: Can't let qualified name: pop32imap-
>> test/session
>>
>>
>> I probably need to add some magic to the session expansion, but can't
>> figure out what.
>>
>> Thanks,
>> --
>> Miki
>>
>> --
>> 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