copied ledger-iterate-entries, ledger-set-year and ledger-set-month
from the old ledger.el. Changed ledger-add-entry to use
ledger-exec-ledger vice the old ledger-run-ledger.
`session_t::read_data` did not set context.pathname to `/dev/stdin`
for the special case `-f -`. I chose to adjust `source_context` too
as there is no sensible context if no file name is provided.
CMake will build the pdf version of the manual if texi2pdf is installed.
It will be installed to DOCDIR/ledger{,3}.pdf, for example
/usr/local/share/ledger/ledger3.pdf.
Also, the man page will be installed to MANDIR/man1/ledger.1
The option BUILD_DOCS is now on by default.
A new option BUILD_WEB_DOCS is used to toggle the generation
of the html version of the manual and the man page (off by default).
All this is added to the 'doc' make target.
Aliases are now expanded not only if they occur by themselves, but also
if they occur as the beginning of a multi-part account. Given <alias
Food=Expenses:Food> the account <Food:Tomatos> should now be expanded to
<Expenses:Food:Tomatos>.
Added two compare structs for std::map to use. I tried to override
the < operator got a clean compile but map wasn't picking it up, I
couldn't figure out why so I took the less elegant route.
Previous version of csv2ods.py simply assumed that fields beyond five
would have links to files. This obviously lacked flexibility and was a
silly hard-code. Now, those CSV fields that have link:SOMETHING will
cause a hyperlink to be created to SOMETHING.
Meanwhile, the pagebreak support was similarly hard-coded. Now, any CSV
field that has the word "pagebreak" in it will generate a pagebreak.
The general ledger and cash receipts/disbursement journals have been
modified to make use of these new features in csv2ods.py.
Finally, the --skip-page-break option is now moot in csv2ods.py, so that
is herein removed.
Based on a request from our accountants, I've changed the RUNNING TOTAL
field (which is generally useless to accountants anyway) to be a BALANCE
amount for starting and ending accounts.
Our auditing accounts tell us they want accounts sorted by:
Assets
Liabilities
Net Assets
Income
Expenses
in a general ledger report. Generally, I think we should just apply the
same sorting.
Since Ledger doesn't use account codes by default, this is my hack to
solve this problem for now. Maybe there should be an account code tag for
sorting purposes at least?