Commit graph

1259 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
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
e4c7b1753b Resolve outstanding stdin parsing issues by buffering the data. 2009-01-21 18:30:37 -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
John Wiegley
dc91fdeff2 Added argument to amount_t::value() for request a market value in terms of a
specific commodity.
2009-01-19 17:47:46 -04:00
John Wiegley
60f9748da1 Create an unrounded global amount variable 'one' for creating inverse price
mappings.
2009-01-19 16:24:06 -04:00
John Wiegley
0ec53e4a6c Allow the environment variable LEDGER_DEBUG to enable debugging. 2009-01-19 16:23:17 -04:00
John Wiegley
8a051119ac Reverse build order of libamounts and libledger. 2009-01-19 16:22:54 -04:00
John Wiegley
3bea2b1181 Output newlines between entries using format strings, not hard-coded. 2009-01-14 00:32:37 -04:00
John Wiegley
97d7896069 Whitespace fix. 2009-01-14 00:32:13 -04:00
John Wiegley
93f884b5f2 The cleared or pending flag of a transaction overrides the flag for the entire
entry only if it is "more" cleared.
2009-01-14 00:32:02 -04:00