Commit graph

1144 commits

Author SHA1 Message Date
John Wiegley
75363003bd Throw an exception if mpfr_asprintf fails 2010-06-02 04:01:16 -04:00
John Wiegley
10df662166 Wrap a default account name with _() 2010-06-02 04:00:43 -04:00
John Wiegley
17b29a6378 Inlined the print_xacts constructor 2010-06-02 03:39:29 -04:00
John Wiegley
d6a559959c Moved a misplaced parenthesis 2010-06-02 03:39:22 -04:00
John Wiegley
e275caa5fb Two members of journal_t weren't being serialized 2010-06-02 02:08:44 -04:00
John Wiegley
8c61ba013f Changed two uses of delete to checked_delete() 2010-06-02 00:27:59 -04:00
John Wiegley
e0c5f6db30 Fixed two memory reference errors 2010-06-02 00:27:35 -04:00
John Wiegley
5cdd36f358 Further improved parsing of query expressions
Fixes #210 / D4C2DD6F-8967-4FFC-BBBC-A941F9C53475
2010-06-01 18:33:13 -04:00
John Wiegley
038c24357e Changed --european option to --decimal-comma
Fixes #211 / 1736ACA5-5DE6-4826-AEB4-DB5B2A2217AC
2010-06-01 17:56:41 -04:00
John Wiegley
d513c71236 Minor optimization 2010-06-01 17:40:27 -04:00
John Wiegley
d19745afde Improve parsing of 'expr' query terms
Fixes #157 / 9DF85DF2-4BF5-4931-A30C-2592A10BB5C0
2010-06-01 17:32:41 -04:00
John Wiegley
6512201292 Changed a comment 2010-06-01 16:55:24 -04:00
John Wiegley
df0edbd2dc Minor optimization 2010-05-31 15:13:04 -06:00
John Wiegley
654c842348 -G option now takes price history into account 2010-05-30 21:58:05 -06:00
John Wiegley
5a2644c1b7 -V/-X options now take price history into account 2010-05-30 20:49:50 -06:00
John Wiegley
58621a96a2 Made several debug categories more consistent 2010-05-30 20:43:45 -06:00
John Wiegley
d5ea3080a7 Allow null values to be cast to int and string 2010-05-30 03:19:09 -06:00
John Wiegley
4f3b39e22c Empty notes and tags now return null values 2010-05-30 03:01:11 -06:00
John Wiegley
647d4aac2f New: --group-by=EXPR and --group-title-format=FMT
The --group-by option allows for most reports to be split up into
sections based on the varying value of EXPR.  For example, to see
register subtotals by payee, use:

  ledger reg --group-by=payee -s

This works for separated balances too:

  ledger bal --group-by=payee

Another interesting possibility is seeing a register of all the accounts
affected by a related account:

  ledger reg -r --group-by=payee

The option --group-title-format can be used to add a separator bar to
the group titles.  The option --no-titles can be used to drop titles
altogether.
2010-05-30 02:47:40 -06:00
John Wiegley
a41d33fba3 Option --rounding inverted to --no-rounding 2010-05-30 02:47:40 -06:00
John Wiegley
e86a4767bc Added new post_splitter posting handler 2010-05-30 02:47:35 -06:00
John Wiegley
f491979d55 Added new option: --no-titles 2010-05-30 02:42:36 -06:00
John Wiegley
3215fd71a4 Added optional item_handler::title() method 2010-05-30 02:38:33 -06:00
John Wiegley
4d372a8e1e Added value_scope_t, for wrapping a value in a scope
The value expression "value" may be used to extract the wrapped value.
This is currently only used by the upcoming --group-title-format option.
2010-05-30 02:38:32 -06:00
John Wiegley
8f17d01f5e Added new required item_handler_t::clear() method 2010-05-30 02:38:30 -06:00
John Wiegley
7ec52d2b39 Comparison of boolean values is now allowed
true > false
2010-05-30 02:16:32 -06:00
John Wiegley
66a26252df Corrected error message text to be consistent 2010-05-30 02:15:45 -06:00
John Wiegley
51115f0a91 Updated to Boost 1.43 2010-05-27 21:35:41 -06:00
John Wiegley
04461f49fd Optimized amount_t::in_place_truncate 2010-05-26 00:58:04 -06:00
John Wiegley
7bddcd676b Added --rounding option, which is off by default
The purpose of this option is to add special "<Rounding>" postings, to
ensure that a regiter's running total is *always* the sum of its
postings.  Within --rounding, these adjustment postings are missing,
which was the behavior in Ledger 2.x.  It can be orders of magnitude
slower to turn it on for large reports with many commodities.
2010-05-23 15:45:51 -06:00
John Wiegley
847a5e4e73 Optimized several "in_place" function in balance_t 2010-05-23 15:23:19 -06:00
John Wiegley
efcede3ca5 Fix to an interaction between --period and --sort
Fixes 3AAB00ED-9904-4380-8988-16506B0AFE08
2010-05-23 01:11:27 -06:00
John Wiegley
834d223c27 Do not generate names with double underscores
Fixes 6A4AFDC2-DE87-48A5-A17D-B04120EE1F62
2010-05-23 00:37:54 -06:00
John Wiegley
3fab2e1333 For Boost 1.35 and earlier, use is_regular
Fixes 0F17CB7F-A000-4F99-8471-739948AD575F
2010-05-23 00:34:26 -06:00
John Wiegley
7bd0170d51 print honors --columns, --account,amount-width 2010-05-22 23:34:12 -06:00
John Wiegley
0f3e7e3e7f The print command now honors use of --date-format 2010-05-22 22:05:03 -04:00
John Wiegley
c645ac1de7 If FMT_CUSTOM is given, and no format, use FMT_PRINTED 2010-05-22 22:04:26 -04:00
John Wiegley
37a3f27ef2 Corrected handling of context stack in the parser
Fixes F4A477E6-C4F6-43B1-ABCC-4DC325C2869A
2010-05-22 21:35:28 -04:00
John Wiegley
b5c9be4d29 Created new valexpr variable display_account
Where display_account might be '(Expenses:Food)', account will always be
'Expenses:Food'.  account is now used by all matching and query
operations, while display_account is used in the various report outputs
(besides balance, which never distinguished virtual accounts).

Fixes F2832452-4521-49A3-B854-F4E12CC4D82E
2010-05-22 21:35:03 -04:00
John Wiegley
9557a9d955 A minor fix to transaction auto-balancing
It allows transactions like the following to auto-balance:

  1999/08/16 Sell AAPL
      Assets:Broker                    $585
      Expense:Broker:Commissions        $15
      Assets:Broker                -10 AAPL {$30} @ $60
      Income:Capital Gains
2010-05-22 21:35:03 -04:00
John Wiegley
a7c28aa200 Added new option --prepend-width
This is useful for making sure that the column containing the results of
--prepend-format is a consistent width throughout the report (including
those lines where it is not applied).

Fixes 64F9D913-75E1-4830-A3D9-29B72442E68B
2010-05-22 21:35:03 -04:00
John Wiegley
db5418c838 Made a peculiar error slightly more verbose 2010-05-22 21:35:03 -04:00
John Wiegley
925b70d5c6 Ommitting args to the entry command print nothing 2010-05-22 21:35:03 -04:00
John Wiegley
a3482606dc Improved error reporting in the expression parser
Fixes 15A80F68-F233-49D9-AF0C-9908BB6903BA
2010-05-22 21:35:03 -04:00
John Wiegley
3e1ec40551 Report an error for incorrect dates like 2010/04/32
Fixes EF57C685-2C18-49A1-9A8C-FB3BE6F99C41
2010-05-22 21:35:02 -04:00
John Wiegley
d397d5a2fc Made the output from --options better looking 2010-05-22 21:35:02 -04:00
John Wiegley
33aa0cc3a6 Changed the report generated by the csv command
Fields are now:

  Date,Code,Payee,Account,Commodity,Total,State,Note

Instead of outputting amounts potentially as $1,000.00 (which was an
error anyway), the output is now: $,1000.00.  This makes the commodity
available in a separate field, and removes display of thousands markers.
Also, european formatting is always off.
2010-05-22 21:35:02 -04:00
John Wiegley
02e7825516 Option --count sums payees, account, commodities 2010-05-22 21:35:02 -04:00
John Wiegley
de3803d027 Added new commands: acounts, payees, commodities
These three reports simply dump an unordered list (with the exception of
payees) shows all accounts, payees, and commodities represented in a
given report.  This can be used to easily generate per-entity report,
for example:

  ledger payees | \
  while read payee; do \
    echo ; echo $payee ; \
    ledger reg payee "$payee" ; \
  done
2010-05-22 21:35:02 -04:00
John Wiegley
a596727d3d Interpolate uses of $account in automated postings
Fixes 5CB52887-408E-48F0-8798-3C640D0295B3
2010-05-22 21:35:02 -04:00