The "xact" variable now returns null for accounts

This commit is contained in:
John Wiegley 2009-02-15 21:05:59 -04:00
parent bfa6a643a1
commit e861c312ac
3 changed files with 11 additions and 1 deletions

View file

@ -173,7 +173,9 @@ public:
bool should_display(account_t& account) {
if (! disp_pred.predicate && report.HANDLED(display_))
disp_pred.predicate.parse(report.HANDLER(display_).str());
return disp_pred(account);
bind_scope_t bound_scope(report, account);
return disp_pred(bound_scope);
}
virtual void flush();

View file

@ -646,6 +646,11 @@ expr_t::ptr_op_t report_t::lookup(const string& name)
else if (is_eq(p, "total_expr"))
return MAKE_FUNCTOR(report_t::fn_total_expr);
break;
case 'x':
if (is_eq(p, "xact"))
return MAKE_FUNCTOR(report_t::fn_false);
break;
}
// Check if they are trying to access an option's setting or value.

View file

@ -138,6 +138,9 @@ public:
value_t fn_quoted(call_scope_t& scope);
value_t fn_join(call_scope_t& scope);
value_t fn_format_date(call_scope_t& scope);
value_t fn_false(call_scope_t&) {
return false;
}
value_t fn_options(call_scope_t& scope) {
return value_t(static_cast<scope_t *>(this));