Some commits were on the master branch but not yet on the next branch due to a
pull request to master after those two branches diverged. This merge
ensures that next ⊇ master.
For `-f /dev/stdin`, the `pathname` of the parsing context will be empty
as for any other streamed input.
`instance_t::include_directive` did not work as expected for `-f /dev/stdin`
and relative file names. One would expect them to be relative to the current
directory rather than `/dev`.
This will lead to `While parsing file ""` messages. This could be
adjusted to read `While parsing standard input`, but maybe it's not
worth the special cases.
This commit also fixes bug 788: behaviour of source_context for '-f -'
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.