diff options
Diffstat (limited to 'src/jvm/clojure/lang/Agent.java')
-rw-r--r-- | src/jvm/clojure/lang/Agent.java | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/jvm/clojure/lang/Agent.java b/src/jvm/clojure/lang/Agent.java index 277307e7..3737805d 100644 --- a/src/jvm/clojure/lang/Agent.java +++ b/src/jvm/clojure/lang/Agent.java @@ -63,12 +63,12 @@ static class Action implements Runnable{ nested.set(PersistentVector.EMPTY); boolean hadError = false; - boolean changed = false; try { - changed = action.agent.setState(action.fn.applyTo(RT.cons(action.agent.state, action.args))); - if(changed) - action.agent.notifyWatches(); + Object oldval = action.agent.state; + Object newval = action.fn.applyTo(RT.cons(action.agent.state, action.args)); + action.agent.setState(newval); + action.agent.notifyWatches(oldval,newval); } catch(Throwable e) { |