Commit graph

3921 commits

Author SHA1 Message Date
John Wiegley
9ea5b60899 Whitespace fixes 2012-03-07 00:32:56 -06:00
John Wiegley
17782c9cfe Simplified commodity_history_t 2012-03-06 23:05:06 -06:00
John Wiegley
75603edeb4 Send myself e-mail after a successful proof build 2012-03-06 23:04:43 -06:00
John Wiegley
71d0033b6f Corrected several compile and link problems 2012-03-06 23:04:27 -06:00
John Wiegley
488355e5d9 Added symbol_t::operator==() 2012-03-06 04:13:54 -06:00
John Wiegley
4a93a8313e Whitespace fix 2012-03-06 04:13:46 -06:00
John Wiegley
5a027166cc Added balance assertion test 2012-03-06 03:31:46 -06:00
John Wiegley
97d68ebc8c Added "value" sub-directive for commodity directive 2012-03-06 03:24:06 -06:00
John Wiegley
eb3591f898 Implemented annotated_commodity_t::find_price
Most specifically, it now respects a valuation expression associated
with the commodity.
2012-03-06 02:01:25 -06:00
John Wiegley
9509a7b881 Made commodity_t::find_price a virtual function 2012-03-06 02:00:49 -06:00
John Wiegley
02ffa7a515 Changed the category of a few DEBUG statements 2012-03-06 02:00:36 -06:00
John Wiegley
8ae2fb8721 Add support for valuation expressions on commodities 2012-03-05 23:01:41 -06:00
John Wiegley
7b12b3041d Make exprbase_t::text() a const member function 2012-03-05 22:47:06 -06:00
John Wiegley
acb5e1beea Generalized function call parsing
Directly calling a lambda now works:

  (x -> x + 10)(10) => 20
2012-03-05 22:01:41 -06:00
John Wiegley
59a16e59ee Simplified Python import in a journal file 2012-03-05 21:48:45 -06:00
John Wiegley
97dbf379d5 Rewrote the way annotated commodities are managed
The new scheme should be much more efficient, and allows for future
growth of what annotations may appear on a commodity.
2012-03-05 17:50:17 -06:00
John Wiegley
ff9cf572fe Added (disabled) code to stop sorting generated balancing postings 2012-03-05 17:49:11 -06:00
John Wiegley
46b124a649 Added some DEBUG statements 2012-03-05 17:47:44 -06:00
John Wiegley
e5885cc8a8 Added annotation_t::operator<() 2012-03-05 17:47:12 -06:00
John Wiegley
f9de33d21c Removed an invalid assertion 2012-03-05 17:46:55 -06:00
John Wiegley
b6adc8f460 Use unique_ptr instead of std::auto_ptr 2012-03-05 17:46:42 -06:00
John Wiegley
477a9106e3 Prettified some code in report.cc 2012-03-05 17:45:45 -06:00
John Wiegley
121d878a0c When deleting a post from an xact, remove it from its account 2012-03-05 15:42:45 -06:00
John Wiegley
05725eab3f Look for valgrind in /opt/local/bin also 2012-03-05 15:42:33 -06:00
John Wiegley
e7aaaeab33 Added boost::noncopyable to format_t and format_t::element_t 2012-03-05 15:42:23 -06:00
John Wiegley
dc9ecc600a Guard against double-freeing of report objects 2012-03-05 15:17:59 -06:00
John Wiegley
b3e21e8ae2 Guarded a call to add_or_set_value 2012-03-05 05:53:49 -06:00
John Wiegley
fa3805282a Added an assert 2012-03-05 05:53:41 -06:00
John Wiegley
036200e959 Make copying of format_t objects memory-safe 2012-03-05 05:53:36 -06:00
John Wiegley
96ec764c4a Don't copy the next pointer in element_t's copy ctor 2012-03-05 05:06:57 -06:00
John Wiegley
eabd5c6a0c Create a FGraph each time a lookup is done 2012-03-05 05:03:53 -06:00
John Wiegley
5abbf44583 Corrected copy of format_t objects
Copying of sub-elements was causing pointer overlap.
2012-03-05 05:03:53 -06:00
John Wiegley
3ea5d88eb3 The last test is closer to working now 2012-03-05 05:03:52 -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
58d912827d Make --value a synonym for market 2012-03-05 05:03:51 -06:00
John Wiegley
4406155475 Make --change a synonym for --gain 2012-03-05 05:03:51 -06:00
John Wiegley
c8c2a17e28 Fixed invocation of lambda expressions
foo = x, y, z -> print(x, y, z)
  foo(1, 2, 3)

However, this still does not work:

  (x, y, z -> print(x, y, z))(1, 2, 3)
2012-03-05 05:03:51 -06:00
John Wiegley
35ace8816a Improvements to format parsing
Fixes #337
2012-03-02 10:58:16 -06:00
John Wiegley
8b9b9e9e72 Removed an old comment 2012-03-02 10:18:42 -06:00
John Wiegley
38c6953e10 Proof both the Python and non-Python variants 2012-03-02 02:00:26 -06:00
John Wiegley
a47653d24c Make sure Python works during proof builds 2012-03-02 02:00:19 -06:00
John Wiegley
f4feabaea1 Build Python support during proof builds 2012-03-02 01:49:23 -06:00
John Wiegley
4e4cbc6f1e Removed unneeded code 2012-03-02 01:49:07 -06:00
John Wiegley
1061cba97f Use Clang to do proof builds 2012-03-02 01:37:49 -06:00
John Wiegley
ddba59b703 This now works: ledger --import os eval 'os.path.isdir("/tmp")' 2012-03-02 01:36:58 -06:00
John Wiegley
116cbd050b Update lib/Makefile for Boost 1.49 2012-03-01 23:42:37 -06:00
John Wiegley
a125f24d29 Allow --options to be added by the user in Python 2012-03-01 23:40:02 -06:00