summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2009-02-05 02:44:45 -0400
committerJohn Wiegley <johnw@newartisans.com>2009-02-05 02:45:29 -0400
commit4854cead4f4793a1e9b5c663afaedaab07cbcf20 (patch)
tree3223063966ce47e1e70a98213073d283e1098f62 /src
parentb7632e7475914e1e358dc4b6e0586959797a5bef (diff)
downloadfork-ledger-4854cead4f4793a1e9b5c663afaedaab07cbcf20.tar.gz
fork-ledger-4854cead4f4793a1e9b5c663afaedaab07cbcf20.tar.bz2
fork-ledger-4854cead4f4793a1e9b5c663afaedaab07cbcf20.zip
When recompiled an expr_t, forget old definitions.
Diffstat (limited to 'src')
-rw-r--r--src/op.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/op.cc b/src/op.cc
index 685c65bf..b6bce96d 100644
--- a/src/op.cc
+++ b/src/op.cc
@@ -49,6 +49,9 @@ expr_t::ptr_op_t expr_t::op_t::compile(scope_t& scope)
}
return copy(def);
}
+ else if (left()) {
+ return copy();
+ }
return this;
}
@@ -427,7 +430,8 @@ void expr_t::op_t::dump(std::ostream& out, const int depth) const
switch (kind) {
case VALUE:
- out << "VALUE: " << as_value();
+ out << "VALUE: ";
+ as_value().dump(out);
break;
case IDENT: