summaryrefslogtreecommitdiff
path: root/xact.cc
Commit message (Collapse)AuthorAgeFilesLines
* First round of work to get the balance report working again.John Wiegley2008-08-041-0/+2
|
* Regular expressions are working again, such that very basic register reportsJohn Wiegley2008-08-031-3/+3
| | | | are now possible.
* Got pre-compiled headers working again, which are used if --devel is passed toJohn Wiegley2008-08-031-9/+14
| | | | acprep.
* Got date, payee and accounts back into the register report.John Wiegley2008-08-031-9/+16
|
* Moved xact_xdata_t into xact_t itself, as a set of "extended data" that mightJohn Wiegley2008-08-021-12/+86
| | | | | | | | 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/".
* More infrastructure work toward getting journal objects to provide their ownJohn Wiegley2008-08-021-19/+20
| | | | information in an abstract manner.
* Formatting now relies exclusively on value expressions.John Wiegley2008-08-021-5/+13
| | | | | | | | | | | | | | | | | | | | 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.
* Journal data structures now use date_t instead of datetime_t.John Wiegley2008-08-011-2/+2
| | | | | | | | 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.
* Change many uses of for+iterator to use Boost.Foreach.John Wiegley2008-07-311-4/+2
|
* Revised the way that exceptions are thrown around. Instead of context being aJohn Wiegley2008-07-311-2/+4
| | | | | | | 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.
* The next value expression scheme is working, but the individual accessorJohn Wiegley2008-07-291-5/+46
| | | | 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-291-0/+140
the way that value expressions extract information from journal objects.