Commit graph

3419 commits

Author SHA1 Message Date
John Wiegley
b589829646 Initial skeleton for the 3.0 manual 2010-06-19 15:47:32 -04:00
John Wiegley
7995e16762 Corrected a bug in report query parsing 2010-06-19 14:02:44 -04:00
John Wiegley
9b905f2b44 query command's parsing behavior sensitive to -n
With -n, the first argument is parsed as a string containing
subarguments.  Otherwise, each argument is parsed as a separate
argument.

In short, the -n mode mimicks what happens when the query expr after "="
is parsed for automated expressions.  The non -n mode mimicks what
happens at the command line for users.
2010-06-19 14:02:33 -04:00
John Wiegley
627162acc0 Made amount_t::value a bit safer 2010-06-19 13:34:15 -04:00
John Wiegley
6fd512cc11 Added NEWS entries for 2.6.2 and 2.6.3 2010-06-19 13:34:03 -04:00
John Wiegley
4bbce6dc7b When --inject is used for a tag, convert to an amount 2010-06-18 19:44:10 -04:00
John Wiegley
b7ea365bfc Renamed the "Rounding" account to "Adjustment" 2010-06-18 08:29:14 -04:00
John Wiegley
66de7e3055 Filename globs now surrounded by ^$ 2010-06-18 07:28:11 -04:00
John Wiegley
a961f15f00 Fixed bug that had broken any() and all() 2010-06-18 07:27:53 -04:00
John Wiegley
9205809d49 Fixed register formatting of postings with payees 2010-06-18 07:27:35 -04:00
John Wiegley
6f73a4db0c Made "convert" command insensitive to null amounts 2010-06-18 07:27:18 -04:00
John Wiegley
5da1e7756d Added new option --inject=KEY[,KEY...]
If you have a typed metadata key which contains an amount, you can use
--inject=KEY to inject a posting with that amount wherever a match
occurs.  There are two main forms of usage:

  2010-06-18 Sample
      ; Key:: $100
      Expenses:Food                $100.00
      Assets:Checking

The command would be:

  ledger reg --inject=Key

In the above, transactional form, a posting under the account "Key" will
be injected before the first posting reported for this transaction.
It's amount will be $100.  This only happens once for the whole
transaction.

It is also possible to associate the key with a posting:

  2010-06-18 Sample
      Expenses:Food                $100.00
      ; Key:: $100
      Assets:Checking

Now the injected posting is generated whenever that particular post is
reported.
2010-06-18 02:28:12 -04:00
John Wiegley
7e2547b1e4 A metadata key must occur at the beginning
Before, this was valid:

  ; Today Yesterday: Tomorrow

Which would set the key Yesterday to the value Tomorrow.  Now, it is
just an ordinary comment.
2010-06-18 02:21:02 -04:00
John Wiegley
b881220987 Minor fix to the way transfer_details sets post date 2010-06-18 02:20:12 -04:00
John Wiegley
b80be82b8d has_tag and get_tag now take an 'inherit' parameter 2010-06-18 02:19:39 -04:00
John Wiegley
5f989f7d9f Corrected printing of assigned amounts 2010-06-18 02:18:44 -04:00
John Wiegley
805a78c121 Only look for [date] outside of metadata entries 2010-06-18 00:46:37 -04:00
John Wiegley
31e8ed7587 Individual postings may each have their own payee
If a posting has the metadata field "Payee" set to a string, that will
be used as the payee name for that posting.  This affects the register
report, the payees report, and the --by-payee option.

This is useful because sometimes I send, say, 4 checks at a time to my
bank.  So on my bank statement, this is all just one amount:

   2010-06-17 Sample
     Assets:Bank        $400.00
     Income:Check1     $-100.00
     Income:Check2     $-100.00
     Income:Check3     $-100.00
     Income:Check4     $-100.00

Though it's important that the Assets:Bank posting be a single posting
of $400 value, I'd like for income reports to show whom each check came
from.  Now I can say:

   2010-06-17 Sample
     Assets:Bank        $400.00
     Income:Check1     $-100.00  ; Payee: Person One
     Income:Check2     $-100.00  ; Payee: Person Two
     Income:Check3     $-100.00  ; Payee: Person Three
     Income:Check4     $-100.00  ; Payee: Person Four

When I report this, it appears as:

10-Jun-17 Sample             Assets:Bank             $400.00     $400.00
          Person One         Income:Check1          $-100.00     $300.00
          Person Two         Income:Check2          $-100.00     $200.00
          Person Three       Income:Check3          $-100.00     $100.00
          Person Four        Income:Check4          $-100.00           0

This shows that they are all in the same transaction (which is why the
date is not repeated), but they have different payees.
2010-06-17 23:42:23 -04:00
John Wiegley
f82ae73ecf Improvements to tools/speed-test.sh 2010-06-17 23:34:24 -04:00
John Wiegley
36ed7f744f Created a script to check commenting coverage 2010-06-15 21:32:05 -04:00
John Wiegley
35ca4f0bb0 Ensure that all options are tested and documented 2010-06-15 18:19:54 -04:00
John Wiegley
b6dae554fe Don't build gcov Ledger with asserts enabled 2010-06-15 16:46:05 -04:00
John Wiegley
a36541d4f0 Updated MacPorts Portfile 2010-06-15 16:46:05 -04:00
John Wiegley
aa55e5ede2 Extended proof/push to upload tarballs/gcov 2010-06-15 16:45:50 -04:00
John Wiegley
014fde3418 v3.0.0-20100615 2010-06-15 07:09:57 -04:00
John Wiegley
35e845f38d Corrected the 'report' rule in Makefile.am 2010-06-15 07:09:57 -04:00
John Wiegley
be91f38ab4 Merge branch 'next' 2010-06-15 06:28:30 -04:00
John Wiegley
968a6f3c0a Changes for building with Visual Studio 2008 2010-06-15 05:14:00 -04:00
John Wiegley
76b1ed6850 Corrected list of options shown in the man page 2010-06-15 04:37:05 -04:00
John Wiegley
34fcc62b4d Removed unused --unsorted option 2010-06-15 04:34:16 -04:00
John Wiegley
d2b333881f Version information is now based on version.m4 2010-06-15 04:26:42 -04:00
John Wiegley
fa263e729c Tests run in parallel with using acprep -jX make
This is done using the multiprocessing library in Python 2.6.  If that's
unavailable, this feature does nothing.
2010-06-15 01:49:18 -04:00
John Wiegley
f3bedb88b2 Merge branch 'next' 2010-06-14 17:14:56 -04:00
John Wiegley
63b4bdaecf Support period expressions "this/next/last week" 2010-06-14 08:14:48 -04:00
John Wiegley
d9d04f62a3 Allow period exprs "from today", "until tomorrow" 2010-06-14 08:04:40 -04:00
John Wiegley
c4e908915c Support period expressions like "last 4 weeks" 2010-06-14 07:56:21 -04:00
John Wiegley
904fff97d0 Fix to allow time periods like "every 14 days" 2010-06-14 07:30:24 -04:00
John Wiegley
c367dcab82 Improved algorithm for abbreviating account names 2010-06-14 07:20:23 -04:00
John Wiegley
d11ff33074 Made >>>2 and === optional in regression tests 2010-06-14 07:18:49 -04:00
John Wiegley
6acd3094b7 Added `ledger-update-test' to ldg-texi.el 2010-06-14 07:18:37 -04:00
John Wiegley
47e91a8a92 Added initial implementation of lot_*() functions 2010-06-14 04:40:39 -04:00
John Wiegley
c2a77c1237 Don't elide quotes for all-digit commodities 2010-06-14 03:46:50 -04:00
John Wiegley
dcffd218a1 Revised how Ledger handles the "current year"
Now when the Y directive sets the current year for a region, it affects
everything, as if the clock really were set back to that year.
2010-06-14 03:23:09 -04:00
John Wiegley
e2fa8c6145 Moved temps.cc into libdata 2010-06-14 01:15:43 -04:00
John Wiegley
847a5fae3d Removed some unneeded code 2010-06-14 01:00:11 -04:00
John Wiegley
e78af146e8 Corrected bug with forecasting date bounded xacts 2010-06-13 23:41:50 -04:00
John Wiegley
526cbc4c93 Restored min() and max() virtual functions 2010-06-13 23:35:22 -04:00
John Wiegley
6bbfb86d75 When parsing date expressions, assume current year 2010-06-13 23:33:06 -04:00
John Wiegley
ead42c27e3 Added a missing break statement
This broke the meaning of -p "this month".
2010-06-13 23:09:01 -04:00
John Wiegley
93c80afe96 Removed a needless Python 2.6ism from acprep 2010-06-13 20:00:07 -04:00