diff options
author | John Wiegley <johnw@newartisans.com> | 2009-11-05 04:24:15 -0500 |
---|---|---|
committer | John Wiegley <johnw@newartisans.com> | 2009-11-05 04:24:15 -0500 |
commit | 15555d497f56e4b4d39e9a14f74b2c82cce52b90 (patch) | |
tree | 1e6c661379f02fdc52ef107fd500438ab69f3e60 /src/precmd.cc | |
parent | 94b2518c4156e5a6b2be45bdbeeacf1ced0cd17f (diff) | |
parent | 060fc0e00bacb96d1d16163779d98c45c3999014 (diff) | |
download | fork-ledger-15555d497f56e4b4d39e9a14f74b2c82cce52b90.tar.gz fork-ledger-15555d497f56e4b4d39e9a14f74b2c82cce52b90.tar.bz2 fork-ledger-15555d497f56e4b4d39e9a14f74b2c82cce52b90.zip |
Merge branch 'next'
Diffstat (limited to 'src/precmd.cc')
-rw-r--r-- | src/precmd.cc | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/precmd.cc b/src/precmd.cc index a08fd2d6..4cf541f4 100644 --- a/src/precmd.cc +++ b/src/precmd.cc @@ -67,7 +67,7 @@ namespace { { std::istringstream in(str); report.session.journal->parse(in, report.session); - report.session.clean_accounts(); + report.session.journal->clear_xdata(); } } xact_t * first = report.session.journal->xacts.front(); @@ -231,6 +231,9 @@ value_t args_command(call_scope_t& args) out << std::endl << std::endl; std::pair<expr_t, query_parser_t> info = args_to_predicate(begin, end); + if (! info.first) + throw_(std::runtime_error, + _("Invalid query predicate: %1") << join_args(args)); call_scope_t sub_args(static_cast<scope_t&>(args)); sub_args.push_back(string_value(info.first.text())); @@ -242,8 +245,12 @@ value_t args_command(call_scope_t& args) << std::endl << std::endl; call_scope_t disp_sub_args(static_cast<scope_t&>(args)); - disp_sub_args.push_back - (string_value(args_to_predicate(info.second).first.text())); + info = args_to_predicate(info.second); + if (! info.first) + throw_(std::runtime_error, + _("Invalid display predicate: %1") << join_args(args)); + + disp_sub_args.push_back(string_value(info.first.text())); parse_command(disp_sub_args); } |