I tested the following on clojure 1.2 and clojure 1.2.1 and it
does not seem to work.

(def foo (agent nil))
(def bar (agent nil :error-handler (fn [a e] (do (def called? true)
(send foo (constantly e)))))
(def called? false)
(send bar inc) ; try incrementing nil
(await error)    ; wait for agent to finish
[@foo called?] ; check value
=> [nil true]

    The last expression should evaluate to: [true
#<NullPointerException java.lang.NullPointerException>]. Instead, it's
evaluating to '[nil true]', which indicates that the 'error-handler'
is indeed being called but 'send' isn't working.

It works as expected on clojure 1.3.0-beta1 though.

     Seems like this issue was reported last year and has resurfaced.
Link to previous discussion about the bug:
http://groups.google.com/group/clojure/browse_thread/thread/c1d05bdbb50d7d28/4d1a64405e8fb766?lnk=gst&q=send+from+agent+error+handler#4d1a64405e8fb766

--
Abhijith

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