summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Added infrastructure for running regression tests, since I would like to makeJohn Wiegley2008-08-054-1/+150
| | | | sure that nothing breaks again once a bug in closed.
* Added version.m4 to the ignore list.John Wiegley2008-08-052-1/+2
|
* The version script is no longer needed either.John Wiegley2008-08-041-5/+0
|
* Removed version.m4, since this is generated from version.m4.in.John Wiegley2008-08-041-1/+0
|
* Removed unnecessary clean rules, since git-clean does the job very nicely.John Wiegley2008-08-041-79/+2
|
* First round of work to get the balance report working again.John Wiegley2008-08-0411-199/+230
|
* When doing a command-line tag search, search for :tag:, not just tag.John Wiegley2008-08-041-0/+2
|
* Changed the #include's in ledger.h so that UnitTests would build again.John Wiegley2008-08-041-16/+25
|
* Ignore the UnitTests binary.John Wiegley2008-08-041-0/+1
|
* Changed the way that version info is included into a Ledger build.John Wiegley2008-08-044-5/+6
|
* Regular expressions are working again, such that very basic register reportsJohn Wiegley2008-08-038-593/+158
| | | | are now possible.
* Got pre-compiled headers working again, which are used if --devel is passed toJohn Wiegley2008-08-037-17/+47
| | | | acprep.
* Rearranged the code a bit, breaking walk.cc into several different files:John Wiegley2008-08-0333-1477/+1874
| | | | | | | | | | compare compare_items<T> handler item_handler<T> iterators used to iterators sets of journal objects filters derived from item_handler, they morph the result set output derived from item_handler, these do the printing Also, created a new 'help' files which contains just Ledger's help text.
* Added several missing copyright notices.John Wiegley2008-08-0323-0/+713
|
* Got date, payee and accounts back into the register report.John Wiegley2008-08-0310-50/+82
|
* Re-enabled almost all of the old reporting code, which means it compiles nowJohn Wiegley2008-08-026-246/+315
| | | | within the new scheme.
* Moved xact_xdata_t into xact_t itself, as a set of "extended data" that mightJohn Wiegley2008-08-0219-387/+387
| | | | | | | | be gathered during reporting. Removed the references to accounts and such from the mask logic, which means that the value expression "acount =~ /foo/" is needed in place of just "/foo/".
* Changed the way that bare masks are parsed. There is still some couplingJohn Wiegley2008-08-025-55/+50
| | | | here, albeit just through flag values. It needs to be changed, though.
* More infrastructure work toward getting journal objects to provide their ownJohn Wiegley2008-08-0211-75/+161
| | | | information in an abstract manner.
* Formatting now relies exclusively on value expressions.John Wiegley2008-08-0218-136/+133
| | | | | | | | | | | | | | | | | | | | What this means is that the utility code, basic math, value expressions, string formatting and option handling are now entirely decoupled from the rest of the code. This decoupling not only greatly simplifies the more basic parts of Ledger, but makes it much easier to test and verify its completeness. For example, when the formatting code %X is seen by the format parser, it turns into a call to the expression function fmt_X, which must be defined when the format string is first compiled against an object. If that object is a transaction, the transaction's scope will be the first to have a chance at providing a definition. If an account is being reported, it will. If neither does, the next scope in sequence -- soon to be the current report -- will, and then the session object that "owns" the current Ledger session. In 2.6, the formatting code new everything about transaction and accounts, and relied on flags to communicate special details between them. Now the transaction will offer the details for its own reporting, while the formatter worries only about strings and how to output them.
* Restored the interval_t time and added a new "period" debugging command.John Wiegley2008-08-025-220/+154
| | | | | | You can use 'ledger period "daily in june"' to find out how Ledger will parse that date string, plus up to the first 20 dates it encounters in the range. Note that the 'end' displayed is currently exclusive.
* Journal data structures now use date_t instead of datetime_t.John Wiegley2008-08-0126-250/+308
| | | | | | | | This means transactions can only have day-level granularity -- which has always been the case from an data file point of view. The advantage to this restriction is that reports will now be immune from daylight savings related bugs, where a transaction falls to the wrong side of a --monthly report, for example.
* Added a new 'format' debugging command, which dissects the formattingJohn Wiegley2008-08-019-15/+65
| | | | expression in its argument.
* Turned some #if 0'd code into a comment.John Wiegley2008-08-011-43/+32
|
* Improved the output from some debugging commands.John Wiegley2008-08-014-24/+49
| | | | | | | | | There are now three commands one can use to interact with value expressions directly: ledger parse EXPR # shows the parse tree resulting from EXPR ledger compile EXPR # shows what the compiled tree looks like ledger eval EXPR # print the resulting value, useful in scripts
* Value expressions now auto-compile themselves on first use if the expr_tJohn Wiegley2008-08-012-23/+39
| | | | | object is not constant. This saves classes that use expr_t from having to track such a detail themselves.
* Re-implemented ?: parsing in value expressions. "a ? b : c" is implemented byJohn Wiegley2008-08-013-10/+59
| | | | | translating it into the equivalent syntax tree "(a & b) | c", since this expression evaluates to the value of b if a is true, otherwise c.
* Simplified the format_t code so that it no longer references any particularsJohn Wiegley2008-08-016-595/+545
| | | | about journal objects. This is all done through value expressions now.
* Change many uses of for+iterator to use Boost.Foreach.John Wiegley2008-07-3126-579/+370
|
* Revised the way that exceptions are thrown around. Instead of context being aJohn Wiegley2008-07-3136-407/+243
| | | | | | | complicated string of pointers, it's now just a global block of text that gets appended to as the error is being thrown up, and can be displayed at the catch point if desired. There are almost no cases where a thrown exception will not result in an error message being displayed to the user.
* Cleaned up some method names and documentation relating to values.John Wiegley2008-07-317-102/+128
|
* A new binary_cache_t object has been creating to manage saving and restoring aJohn Wiegley2008-07-3120-1068/+1203
| | | | | Ledger session from a cache file. It doesn't work at all yet, though at least the major structures are in place now.
* Fixed the clean targets in Makefile.am. Use 'all-clean' to wipe everythingJohn Wiegley2008-07-301-13/+17
| | | | generated.
* Corrected a failing test.John Wiegley2008-07-303-3/+6
|
* Updated acprep to reflect a more modern OS X system.John Wiegley2008-07-301-11/+9
|
* Enabled a huge number of warning flags for g++ in acprep, and fixed them allJohn Wiegley2008-07-3026-137/+154
| | | | | | except for several unused parameter warnings (because there is so much code still #if 0'd out), and one implicit conversion from long long to long which still has to be dealt with.
* Reorganized the ordering of filenames in Makefile.am, to better reflectJohn Wiegley2008-07-301-28/+34
| | | | Ledger's internal architecture.
* Merged over fix to #205 from v2.6.1b, which deals with small commodityJohn Wiegley2008-07-292-8/+11
| | | | rounding.
* The register report has begun printing real data, although not all the piecesJohn Wiegley2008-07-297-55/+53
| | | | are in place yet and the formatting is still off.
* The next value expression scheme is working, but the individual accessorJohn Wiegley2008-07-299-41/+127
| | | | functions for each of the journal objects has yet to be ported.
* Moved around and renamed a very large amount of code in order to rationalizeJohn Wiegley2008-07-2943-2315/+2264
| | | | the way that value expressions extract information from journal objects.
* Changed the way scopes are structured for an upcoming design change.John Wiegley2008-07-2912-3632/+29
|
* Move the value expression code into libamounts, since it really belongs withJohn Wiegley2008-07-292-12/+12
| | | | value_t, rather than the rest of Ledger proper.
* Value expression architecture is now rewritten, but the functionality of theJohn Wiegley2008-07-2941-709/+4082
| | | | | | | old system (for example, the meaning of 'a') has yet to be restored. In the new scheme, this will be done by definition a function outside of the value expression logic, rather than the tight coupling between journal innards and value expressions that occurred in 2.x.
* Added the skeleton for the upcoming value_expr unit tests.John Wiegley2008-07-283-1/+57
|
* Cleaned up the value expression code a bit before undertaking the real work ofJohn Wiegley2008-07-2711-1241/+170
| | | | getting everything back up to what it was (plus the new code written for 3.0).
* Merge branch 'master' into v2.7aJohn Wiegley2008-07-278-34/+247
|\
| * Added the concept of "balance setting transactions".John Wiegley2008-07-275-6/+209
| |
* | Updated all copyright messages to 2003-2008.John Wiegley2008-07-2745-45/+45
| |
* | Merge branch 'master' into v2.7a.John Wiegley2008-07-271-2/+2
|\| | | | | | | The only change to come forward was updating the binary version number.