Commit graph

93 commits

Author SHA1 Message Date
John Wiegley
c5c2027624 Fix to xact_t::valid() 2009-11-01 04:25:23 -05:00
John Wiegley
ead642c7fa Commented out dependency on session_t (for now) 2009-10-31 17:54:40 -04:00
John Wiegley
3909d2678e Removed most #if 0 blocks and callout comments 2009-10-31 04:50:07 -04:00
John Wiegley
cb6f7cd54e Add a position_t object for tracking item positions
It is also optional, which is useful for generated items.
2009-10-30 17:54:54 -04:00
John Wiegley
55f5868380 Setting --date-format in ~/.ledgerrc works again 2009-10-29 00:52:51 -04:00
John Wiegley
aa45d2d38c Further improvements to handling temporaries 2009-10-28 01:18:27 -04:00
John Wiegley
07cca71893 Renamed two methods, for consistency's sake 2009-10-27 21:33:33 -04:00
John Wiegley
0fdb900c99 Redid the way temporaries are handled in filtering 2009-10-27 08:30:39 -04:00
John Wiegley
3fdd75fb5b Balance assertions now really assert
There are two kinds of balance related options for a posting: a balance
assignment, where the amount of the posting is blank and so it fills it
in to make the assertion true; and plain assertions, where the amount is
not blank and an error is reported if the balance does not match the
given amount after the posting is taken into account.
2009-10-26 19:08:15 -04:00
John Wiegley
8999607408 If a pricing entry fails to parse, give an error 2009-10-26 17:17:12 -04:00
John Wiegley
f161aea8ce Removed reliance on strptime/strftime
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).
2009-10-11 05:19:01 -04:00
John Wiegley
991e3a3eaf Split commodity.h/cc into three files
commodity.h - code for commodity_t
annotate.h  - commodity annotations
pool.h      - commodity pool management
2009-06-24 16:43:46 +01:00
John Wiegley
440124eacc Restored --download, although not done yet
The problem at this point is that it's recording prices in the price
database multiple times; it should only need to download a price for
each commodity once per day.
2009-06-24 02:44:07 +01:00
John Wiegley
4253c2a35d Allow uncommoditized amounts to be used as costs 2009-06-18 16:10:08 +01:00
John Wiegley
94467e5b7f Fixed a problem with accounts and trailing spaces
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
2009-06-16 17:05:28 +01:00
John Wiegley
8747c724f1 Strip annotations before handling bal assignments 2009-06-13 18:04:29 +01:00
John Wiegley
c79fd9e72d Added new debug option --options
This reports which options are in place before invoking a command, and
where exactly each option value came from.
2009-06-02 19:14:46 +01:00
John Wiegley
f1523b5464 The new code is working now. 2009-03-16 03:44:27 -04:00
John Wiegley
110f0b8023 Enabled use of pre-compiled headers by default 2009-03-10 17:02:03 -04:00
John Wiegley
2728e4d55e Changed the way that account balances are computed 2009-03-06 00:27:29 -04:00
John Wiegley
c11d325712 Reduced the #include dependency tree to a minimum 2009-03-04 23:53:43 -04:00
John Wiegley
2d63c9364a Changed many assert() calls to VERIFY() 2009-03-04 04:29:10 -04:00
John Wiegley
1540ccec01 Gather account details in a details_t structure 2009-03-03 20:28:09 -04:00
John Wiegley
c305db937c If a posting has an integer amount, convert it 2009-03-03 16:28:20 -04:00
John Wiegley
098e3b0043 Fixed parsing of '(1, 2, (3, 4))' 2009-03-03 16:02:34 -04:00
John Wiegley
38122c2224 Corrected warnings g++-4.3.3 was complaining about 2009-02-28 04:54:54 -04:00
John Wiegley
f1795e628b Fixed bugs relating to sign and rounding of costs 2009-02-27 03:45:32 -04:00
John Wiegley
a8e2a674a8 Fixes to entry note parsing 2009-02-27 02:41:50 -04:00
John Wiegley
06365aac05 Fixed the way item state is parsed and managed 2009-02-27 02:35:51 -04:00
John Wiegley
8216db1f15 Added support for tag/pop parsing directives
There are now "tag/pop" directives, to apply metadata to a range of
transactions (and their postings).  For example, if you wanted a
conceptual "page" of transactions relating to business trip to Chicago,
you could do this:

    tag Location: Chicago
    tag Purpose: Business

    ... transactions go here

    pop
    pop

It would be as if you'd applied "; Location: Chicago", etc., to every
transaction.
2009-02-26 05:49:26 -04:00
John Wiegley
47ff0b9fed Fixes to the way textual directives were parsed 2009-02-26 05:46:59 -04:00
John Wiegley
b302c340b6 Enriched the context report during textual parsing 2009-02-26 05:42:59 -04:00
John Wiegley
badea00584 Added a warning_() macro 2009-02-26 05:30:48 -04:00
John Wiegley
238bd7f8a5 Marked all strings needing internationalization
These strings are now collected automagically in the file po/ledger.pot.
If you'd like to produce a translation, just run this command after
building Ledger:

    msginit -l LOCALE -o LANG.po -i po/ledger.pot

Where LOCALE is a string like de or en_GB, and LANG is a short
descriptive word for your language.

Then send me this .po file so I can commit it to the Ledger sources
(alternatively, you could maintain the file in a fork on GitHub), and
setup the build script to format and install your new message catalog
during a "make install".
2009-02-25 03:51:42 -04:00
John Wiegley
38dd1b8655 Fixed an issue involving costs and reduced values 2009-02-24 13:29:08 -04:00
John Wiegley
267b2ba5d8 Made commodity reduction during parsing consistent 2009-02-24 02:40:28 -04:00
John Wiegley
2422838005 Restored the price conversion text directive (C) 2009-02-24 02:34:48 -04:00
John Wiegley
944c63e6f2 The Great Renaming, Part II
The last commit did not contain the majority of changes because of a
slight mishap.  This contains the real changeset.
2009-02-23 19:07:30 -04:00
John Wiegley
49d79045a5 Removed unused member keep_details_t::keep_base 2009-02-23 15:15:33 -04:00
John Wiegley
de6de07bac Many fixes to --market and --exchange
Also, --exchange now accepted multiple, comma-separated commodities.
2009-02-22 22:23:02 -04:00
John Wiegley
a93111470d Greatly improved the way "weeks" are iterated 2009-02-21 02:10:02 -04:00
John Wiegley
f2f52066d2 Added a --strict session option
When enabled, if any accounts or commodities are seen in an uncleared
transaction, which were not seen previously in a cleared or pending
transaction or a textual directive dealing with accounts or commodities,
a warning is generated about the unknown item.
2009-02-19 22:36:08 -04:00
John Wiegley
3826cb1bee Re-enabled parsing of timelog data 2009-02-19 15:50:24 -04:00
John Wiegley
d0a664d102 Fixed several unused value and param warnings 2009-02-16 16:55:18 -04:00
John Wiegley
1aff6ec01d Abort journal parsing if Control-C is caught 2009-02-16 04:16:20 -04:00
John Wiegley
78e57ac4cf item_predicate now operates on scope_t
This means item_predicate is no longer a template.
2009-02-15 20:56:48 -04:00
John Wiegley
e0e181d2af Made (un)reduce rvalue methods more consistent
They names were changed from reduce/unreduce to reduced/unreduced, since
they return the modified value.  This is more consistent with the naming
of rounded/rounded.
2009-02-12 20:44:46 -04:00
John Wiegley
f8c48d7a6f Ignore lines in Ledger files which contain only whitespace. 2009-02-12 02:35:05 -04:00
John Wiegley
6d4c3ffde5 If a textual directive can't be found, ignore it. 2009-02-10 04:23:50 -04:00
John Wiegley
3c3606aa0d Break libledger_data's dependency on session_t. 2009-02-09 18:46:01 -04:00