John Wiegley
4681e58d7f
Converted the Ledger build system to use CMake
2012-05-20 04:48:05 -05:00
John Wiegley
a38ed141c1
Switched to Boost.PropertyTree for XML generation
2012-05-18 01:31:01 -06:00
John Wiegley
8e8c2904f5
Never price commodities using annotated commodities
2012-03-30 00:51:05 -05:00
John Wiegley
0f180b917a
Improved some error messages
2012-03-29 16:25:22 -05:00
John Wiegley
e3248ee5a6
Fix problems with <Adjustment> postings
2012-03-20 04:56:03 -05:00
John Wiegley
d6274fee19
Extend commodity_t::compare_by_commodity::operator()
2012-03-19 00:30:15 -05:00
John Wiegley
610a3e1709
Don't map_prices if price commodity matches source
...
Fixes #680
2012-03-15 04:58:53 -05:00
John Wiegley
363670d35b
Tighten up argument passing related to fn_market()
2012-03-11 03:55:25 -05:00
John Wiegley
628875b33c
Use Boost.Tuple
2012-03-09 03:19:25 -06:00
John Wiegley
21e8b7f6f0
Added nail_down() for pinning market value exprs
2012-03-08 00:55:06 -06:00
John Wiegley
17a84642fb
Corrected calculation of market valuation expressions
2012-03-08 00:54:19 -06:00
John Wiegley
97d68ebc8c
Added "value" sub-directive for commodity directive
2012-03-06 03:24:06 -06:00
John Wiegley
02ffa7a515
Changed the category of a few DEBUG statements
2012-03-06 02:00:36 -06:00
John Wiegley
8d6bf11334
All tests are working again but one
2012-03-05 05:03:52 -06:00
John Wiegley
5d8cb30774
Implemented first cut at price conversion logic
2012-03-05 05:03:52 -06:00
John Wiegley
e910878312
Changes to get all the code to compile
2012-03-05 05:03:52 -06:00
John Wiegley
48ab6ad1db
Switched to using Boost.Graph for commodity pricing
2012-03-05 05:03:52 -06:00
John Wiegley
e2afc783db
Increased file copyrights to 2012
2012-02-29 22:32:23 -06:00
John Wiegley
c3a9a7d2c5
Fixed many Clang type conversion warnings with static_cast
2012-02-17 15:17:52 -06:00
John Wiegley
cf4a665a0e
Fixes for variable shadowing (6/28)
2012-02-17 15:06:02 -06:00
John Wiegley
f0791bbd72
Cleanup whitespace
2011-08-18 14:48:38 -04:00
John Wiegley
2208ac1226
Fixes for compilation as C++0x code
2011-02-04 22:39:41 -05:00
John Wiegley
48a5823181
Based symbol_needs_quotes an invalid_chars ( #386 )
2010-07-29 03:45:01 -04:00
John Wiegley
c2a77c1237
Don't elide quotes for all-digit commodities
2010-06-14 03:46:50 -04:00
John Wiegley
dea2aed0b5
Untabified all source files
2010-06-11 17:02:25 -04:00
John Wiegley
8637dd6ccf
New display flag AMOUNT_PRINT_ELIDE_COMMODITY_QUOTES
...
This is used by reports like register and balance so that separated
commodities without spaces in them needed be surrounded by quotes. It
will still occur in most other places.
Fixes #200 / F82CF11F-BFD9-4512-A562-202B04B68051
2010-06-09 06:45:07 -04:00
John Wiegley
be6cef93c4
A further simplification of -V and -X
...
With -X COMM, all values are computed in terms of COMM, regardless.
With -V, only secondary commodities will ever be computed, never
primaries. Further, if a secondary commodities has an associated price,
the valuation is done in terms of that price's commodity.
2010-06-07 09:49:17 -04:00
John Wiegley
653d2bd99a
Corrected a verification test
2010-06-05 02:18:01 -04:00
John Wiegley
f16a5382ed
commodity_t::find_price now uses memoization
...
This reduces the slowdown of using -V and -X from 36x in some cases down
to around 4-5x (for a debug build).
2010-06-04 05:16:30 -04:00
John Wiegley
a4a45cb4d6
any and all do not need to be reserved tokens
2010-06-04 03:40:39 -04:00
John Wiegley
b7e8cb9d54
More debug code cleanup
2010-06-04 03:34:56 -04:00
John Wiegley
7f7243ff93
Made the behavior of -V a bit more rational
...
It now only values non-primary commodities in terms of primary ones.
2010-06-04 03:11:14 -04:00
John Wiegley
2ae2dc86c6
Reorganized some debug code
2010-06-04 02:54:38 -04:00
John Wiegley
45451125e3
Simplified some debug code
2010-06-03 23:23:12 -04:00
John Wiegley
27b86a5388
Avoid unnecessary object copying when using foreach
2010-06-03 17:43:38 -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
6512201292
Changed a comment
2010-06-01 16:55:24 -04:00
John Wiegley
4ec54b86f8
Added any() and all() value expression macros
...
any() matches an expression against every post in a transaction or
account, and returns true if any of them are true. all() tests if all
are true. For example:
ledger -l 'account =~ /Expense/ & any(account =~ /MasterCard/)' reg
This reports every posting affecting an Expense account (regex match),
but only if some other posting in the same transaction affects the
MasterCard account.
Both functions also take a second boolean argument. If it is false, the
"source" posting is not considered. For example:
ledger -l 'any(/x/, false)'
This matches any posting where a *different* posting in the same
transaction contains the letter 'x'.
2010-05-08 02:06:06 -04:00
John Wiegley
ab416f759f
Updated copyrights to 2003-2010
2010-03-05 22:14:10 -05:00
John Wiegley
6870c54644
Refactored some comparison helper classes
2010-02-05 00:00:38 -05:00
John Wiegley
4e30fcdf40
Many improvements to Ledger's Python bindings
2009-11-19 22:24:24 -05:00
John Wiegley
b2ba07b90c
Fixed several time and date duration type uses
2009-11-17 21:28:43 -05:00
John Wiegley
6cdb79e2a6
XML reporting now works via the "xml" command
2009-11-09 03:42:35 -05:00
John Wiegley
2c80227339
Added basic foundation for XML reporting
2009-11-09 02:17:26 -05:00
John Wiegley
c8bab6d1c6
Throw an error if UTF-8 encoding is incorrect
2009-11-07 06:39:14 -05:00
John Wiegley
690e46117e
Added Python interface for commodity_t
2009-11-02 21:55:53 -05:00
John Wiegley
e663a13502
Changed protection level of many parts of commodity_t
2009-11-02 17:05:51 -05:00
John Wiegley
3f8c126c79
Use is_annotated() method rather than "annotated"
2009-11-02 16:57:53 -05:00
John Wiegley
094794c640
Added a --european flag, to use commas for decimals
...
Ledger can often figure this out for itself, but this flag just makes it
the default behavior. It is meant to be added to one's ~/.ledgerrc
file.
2009-11-02 02:39:31 -05:00
John Wiegley
3909d2678e
Removed most #if 0 blocks and callout comments
2009-10-31 04:50:07 -04:00