summaryrefslogtreecommitdiff
path: root/src/jvm/clojure/lang/Agent.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jvm/clojure/lang/Agent.java')
-rw-r--r--src/jvm/clojure/lang/Agent.java8
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)
{