Commit graph

3832 commits

Author SHA1 Message Date
John Wiegley
d9e97cfede When parsing commodities, if there is no symbol or annotations, reset the
stream pointer in order to give more accurate error reporting.
2009-01-22 21:15:05 -04:00
John Wiegley
7b76ea5cbc Errors while calculating value expressions now display meaningful error
context.
2009-01-22 18:54:24 -04:00
John Wiegley
9c164bd3dc Allow function calls without arguments in the parser. 2009-01-22 18:53:59 -04:00
John Wiegley
e95e8c3f79 Corrected a parse-time optimization of "! CONSTANT". 2009-01-22 18:53:44 -04:00
John Wiegley
965df4a404 Whitespace changes. 2009-01-22 18:53:08 -04:00
John Wiegley
0859b626a1 Added output insertion operator for mask_t objects. 2009-01-22 18:51:49 -04:00
John Wiegley
2332896810 Changed some debug strings when parsing/compiling valexprs. 2009-01-22 18:51:33 -04:00
John Wiegley
ba18354947 Whitespace changes. 2009-01-22 17:03:26 -04:00
John Wiegley
fac5a95a48 Accept &&/and for &, ||/or for |, and not for !. Also improved error
reporting in the tokenizer.
2009-01-22 17:01:46 -04:00
John Wiegley
0b9f22b4d2 Redid the way command-line arguments are processed. Before, Ledger used - and
-- to mean special things after the command verb was seen.  But now, what used
to be specified as this:

  ledger -n reg cash -payable -- shell

Is now specified as this:

  ledger reg -n cash not payable @shell

It could also be specified as:

  ledger -n reg \(cash and not payable\) and @shell
2009-01-22 16:27:24 -04:00
John Wiegley
ccedf7d57f Parse != as !(==) and !~ as !(=~), for simplicity's sake. 2009-01-22 16:25:51 -04:00
John Wiegley
4e64364d3a Removed an extra call to session.read_init(). 2009-01-22 16:15:12 -04:00
John Wiegley
09ff689b4a Updated NEWS file. 2009-01-21 18:55:20 -04:00
John Wiegley
eb04b8be85 Changed the order in which options are processed, to provide for the correct
overrides.

  1. Global defaults
  2. Environment variable settings
  3. Initialization file
  4. Command-line arguments

Whatever is later in the list overrides what is earlier.
2009-01-21 18:54:06 -04:00
John Wiegley
a5e2fa42bb Changed the order in which options are processed, to provide for the correct
overrides.

  1. Global defaults
  2. Environment variable settings
  3. Initialization file
  4. Command-line arguments

Whatever is later in the list overrides what is earlier.
2009-01-21 18:53:52 -04:00
John Wiegley
e4c7b1753b Resolve outstanding stdin parsing issues by buffering the data. 2009-01-21 18:30:37 -04:00
John Wiegley
ebae0257fb Resolve outstanding stdin parsing issues by buffering the data. 2009-01-21 18:29:20 -04:00
John Wiegley
8abf8baa53 Updated NEWS and TODO file. 2009-01-21 18:29:05 -04:00
John Wiegley
ca0b524628 Don't use a cache file if it equals '<none>' (when --no-cache is used). 2009-01-20 20:58:28 -04:00
John Wiegley
8f1729b570 Increased copyright range to include 2009. 2009-01-20 20:56:03 -04:00
John Wiegley
c8262e9314 Correctly output space if %2.2X is used. 2009-01-20 20:55:12 -04:00
John Wiegley
e6c44a586f Added a note about --anon to the NEWS file. 2009-01-20 20:13:12 -04:00
John Wiegley
2858a9999a Added missing zeroes in the sha1 to text generation. 2009-01-20 20:13:05 -04:00
John Wiegley
3bf354946f xact_t pointer list when copy constructing an entry, which leads to crashes
during deconstruction (due to double-free'ing transactions).
2009-01-20 20:06:21 -04:00
John Wiegley
3682ea6f8c Added support for "anonymizing" any report with --anon. 2009-01-20 20:05:41 -04:00
John Wiegley
887828a40c Increased copyright range to include 2009. 2009-01-20 01:53:31 -04:00
John Wiegley
efb36d36c4 In the Ledger sample data, mark $ as NOMARKET. 2009-01-19 22:32:14 -04:00
John Wiegley
906d8004ae Added a function for account_t to get the account's total cost. 2009-01-19 22:31:04 -04:00
John Wiegley
c6303ab9ef Fixed the market valuation function for balances. 2009-01-19 22:30:46 -04:00
John Wiegley
7cc64c04a5 Don't calculate a reflexive price if a commodity has been marked as NOMARKET. 2009-01-19 22:30:34 -04:00
John Wiegley
ad9a469a2a Got changed_value_xacts working again. 2009-01-19 22:30:11 -04:00
John Wiegley
ce49245667 Make report_t a friend of format_t, so it can set the ANSI options. 2009-01-19 22:29:55 -04:00
John Wiegley
72c09cc0bf Generate a better error if a function operand is invalid. 2009-01-19 22:29:36 -04:00
John Wiegley
efc923acb4 Allow var_t<datetime_t>. 2009-01-19 22:29:17 -04:00
John Wiegley
bcfd6d1db9 When setting a scope's argument, convert the list to a sequence if it's not
already.
2009-01-19 22:29:09 -04:00
John Wiegley
7ffe0e1539 Added back several cost reporting options. 2009-01-19 22:28:34 -04:00
John Wiegley
5e25a6d838 Pass in the total_expr directly to changed_value_xacts. 2009-01-19 22:28:17 -04:00
John Wiegley
e9a5a9bd77 Added back the -V (market value) option. 2009-01-19 22:28:00 -04:00
John Wiegley
83648af19f Added the concept of a "display_total", used for showing the values in the
totals column of both the register and balance reports.  This is different
from the internal calculated total, which is still "total_expr".
2009-01-19 22:27:10 -04:00
John Wiegley
5c17da6572 Instead of doing price annotations in the textual parser, use
commodity_t::exchange.
2009-01-19 22:25:12 -04:00
John Wiegley
d9197fc2e5 Changed COMMODITY_STYLE_NOMARKET TO COMMODITY_NOMARKET. 2009-01-19 22:24:56 -04:00
John Wiegley
14b3eb89f5 Added methods for getting the cost of an xact. 2009-01-19 22:23:45 -04:00
John Wiegley
091144e5e8 Don't look for an xact's state in its entry if there isn't one. 2009-01-19 22:23:27 -04:00
John Wiegley
adf8cfbbc0 Can now determine the market value of balance pairs, even if stored within
value_t objects.
2009-01-19 22:23:02 -04:00
John Wiegley
49b83c0d6f Further extended commodities unit test. 2009-01-19 20:05:18 -04:00
John Wiegley
52e140d14e Lookup commodity prices recursively, searching for the newest data. 2009-01-19 19:59:49 -04:00
John Wiegley
85be211f99 Extended commodities unit test. 2009-01-19 19:58:59 -04:00
John Wiegley
5cc99a6972 Changed COMMODITY_STYLE_BUILTIN to COMMODITY_BUILTIN, and added new flag
COMMODITY_WALKED, for avoiding infinite recursions during price lookups.
2009-01-19 19:58:47 -04:00
John Wiegley
94463c7b0f Added --root option to Python install. This change from Levin. 2009-01-19 18:01:48 -04:00
John Wiegley
009dd3969a Added a recursive, date-based commodity price searching capability. This
makes it possible to find all possible prices for a commodity by walking the
map of pricing relationships to all other commodities, even if the relation is
distant.
2009-01-19 17:48:27 -04:00