This is necessary because sometimes, a post from one account will get
reported as though it were in another account (this happens with
--budget, to show child account postings within their parent account).
In that case, the account needs to remember which postings have been
reported as being within it, so that it can add these amounts to its own
total in the balance report.
It is now a full parser that parses report queries directly into value
expression trees. These then get rendered into text so that other
options may extend the expression.
This sets Ledger's notion of the "current time" to the given date. This
makes it possible to have stable output from budgeting and forecasting
reports, for the sake of baseline tests.
The code now uses Boost's input and output facets for times and dates.
This ensures completely consistency regarding timezones and times, and
fixes the regression test that was broken while I was away coding in
London (where it was GMT-0 and I didn't notice the difference between
local and GMT).
This option reports only in terms of the annotated price of the
commodities involved, otherwise it reports the amounts themselves. It
can be used in conjunction with other reports, as it applies to the
displayed amounts, not the actual amounts being calculated.
This means that final balance valuations (with -V or -X) will be done in
terms of the date given to --end, rather than based on the current day.
Fixes 647D5DB9-DBBB-47C8-80CE-F3F70E3B0253
This issue is caused by having a single space at the end of a posting
that has neither an amount nor a note.
Fixes C523E23F-CFAC-4A53-B0C6-21226640E763