Commit graph

96 commits

Author SHA1 Message Date
John Wiegley
7acc1306d9 *** empty log message *** 2008-04-13 02:41:29 -04:00
John Wiegley
96d6d62ad9 Began support for improved commodity handling. 2008-04-13 02:41:28 -04:00
John Wiegley
7d3e45958e *** empty log message *** 2008-04-13 02:41:28 -04:00
John Wiegley
68813448cb Added support for unlimited factoids. 2008-04-13 02:41:28 -04:00
John Wiegley
a2423f99db *** empty log message *** 2008-04-13 02:41:27 -04:00
John Wiegley
935f849c7d (parse_transaction): Assign the entry to an xact while parsing it so
that the 'd' variable is available to value expressions within a
transaction amount or cost.
2008-04-13 02:41:27 -04:00
John Wiegley
7901598f1d Checked in all major updates. 2008-04-13 02:41:27 -04:00
John Wiegley
f819ba6c10 *** empty log message *** 2008-04-13 02:41:26 -04:00
John Wiegley
5a8d1fc8ea *** empty log message *** 2008-04-13 02:41:26 -04:00
John Wiegley
f2a167e0ed *** empty log message *** 2008-04-13 02:41:26 -04:00
John Wiegley
7cf2a41755 (parse_transaction): Improved the @ check (scanning for a transaction
cost) so that it skips quoted symbol names and value expressions.
2008-04-13 02:41:25 -04:00
John Wiegley
fc8bbd5815 (parse_amount): Don't interpret an initial opening parenthesis as
inline math, but rather see it as introducing a value expression.
2008-04-13 02:41:25 -04:00
John Wiegley
c51704a2a1 (parse): Do not balance automated entries: they are now balanced as
part of the entry they match.  (parse): Report the remainder of failed
balances using `entry_balance'.  This can give a much better idea of
what went wrong, especially when values are being calculated.
2008-04-13 02:41:25 -04:00
John Wiegley
349183d5ea (write_textual_journal): Corrected an error message. 2008-04-13 02:41:24 -04:00
John Wiegley
2df14a5b86 Transactions now track their beginning and ending position, as do
entries.  The new format strings %xB %xE %xb %xe can be used to
display those values relative to a transaction.  The Emacs module now
relies on this support to exactly determine where a transaction is,
rather than the Elisp logic it relied on previously.
2008-04-13 02:41:24 -04:00
John Wiegley
7a44b2e367 *** empty log message *** 2008-04-13 02:41:23 -04:00
John Wiegley
4aea9709bb Made several changes to the parsing infrastructure to allow passing
the "config_t" object around.  This is needed for parsing option
settings in the initialization file.
2008-04-13 02:41:23 -04:00
John Wiegley
ced1d5a308 Relaxed parsing so that tabs are allowed in several places that
required spaces before.
2008-04-13 02:41:23 -04:00
John Wiegley
6cee916e04 Added in.clear() before resetting I/Os streams. Again, thanks to the
list.
2008-04-13 02:41:22 -04:00
John Wiegley
a8012940f4 Removed Python integration support. 2008-04-13 02:41:21 -04:00
John Wiegley
f691735c6c Restructed the code that it can build and be used as a shared library.
The command-line version is still statically bound in the build
process by default (for the sake of speed).
2008-04-13 02:41:21 -04:00
John Wiegley
b2bb3b4510 (parse_amount): Ignore inline math characters that are found quotes. 2008-04-13 02:41:20 -04:00
John Wiegley
eb0525e315 See ChangeLog 2008-04-13 02:41:19 -04:00
John Wiegley
a53f44ecda Support has been added for clearing of individual transactions. Set
`ledger-clear-whole-entries' in Emacs to revert to the old behavior.
2008-04-13 02:41:19 -04:00
John Wiegley
b462a8bf50 *** empty log message *** 2008-04-13 02:41:18 -04:00
John Wiegley
4819302633 (parse_entry): Allow for the possibility that a transaction might end
with EOF.
2008-04-13 02:41:18 -04:00
John Wiegley
6af2a5d9ba (parse_entry): Removed "single line" transaction parsing and went back
to 2.3 behavior (where transactions always appear after the line
containing the date and payee).
2008-04-13 02:41:17 -04:00
John Wiegley
b22b655c34 (parse): Removed some unnecessary code which was actually causing
price histories to be parsed wrong when compiler optimizations were
used (at least on my machine).
2008-04-13 02:41:15 -04:00
John Wiegley
92e591c237 (parse): Set the beginning and ending line number for each entry as it
is parsed.
2008-04-13 02:41:13 -04:00
John Wiegley
f05ef1085a (parse_inline_math): Parse amounts that use any
of ()/*+- as "inline math".  This causes "$100.00 * 20" to be
turned into the equivalent value expression "({$100.00} * {20})".
It is a shorthand, at the expense of a little textual parsing
speed.
(parse_amount): Call `parse_inline_math' if appropriate.
(parse_entry): Support transactions that follow immediately after
the payee name, separated by two or more spaces.  This makes it
possible -- when a basket account is being used -- to list off
entry transactions one per line.
(parse): Allow a basket account to be specified using the syntax
"A ACCOUNT".  From that point on in the file, any single
transactions entries will be balanced against that account.
2008-04-13 02:41:12 -04:00
John Wiegley
b800e4e2f8 (parse): The src_idx field on journal entries was being set
incorrectly.
2008-04-13 02:41:11 -04:00
John Wiegley
7109c9234e (parse): Parse price database entries using the fixed date format
"%Y/%m/%d %H:%M:%S".
2008-04-13 02:41:11 -04:00
John Wiegley
688f572ffd (clock_out_from_timelog): If a timelog file is left "open", clock out
at the present time.
2008-04-13 02:41:09 -04:00
John Wiegley
2d4fc10ca4 (parse_transaction): If an account name matches an alias definition,
use the aliased account.
(parse): Added an "!alias ALIAS = ACCOUNT" directive, to make it
easier to manage long account names in a textual ledger file.
2008-04-13 02:41:09 -04:00
John Wiegley
f7090b1c33 (test): Sense of an #ifdef test was reversed somehow. 2008-04-13 02:41:07 -04:00
John Wiegley
56b5f5fcce *** empty log message *** 2008-04-13 02:41:07 -04:00
John Wiegley
a1c6758265 (test): Added a test for the presence of <?xml... in the input stream;
if it is there, report an error based on whether XML support was
actually compiled in or not.
2008-04-13 02:41:07 -04:00
John Wiegley
9ff282bd11 (parse_entry): Parse the pending flag if a ! is used in place of *. 2008-04-13 02:41:05 -04:00
John Wiegley
30e6111b0f (parse): Updated the "D" command to take a regular amount, from which
the default flags and precision for its commodity are determined.
2008-04-13 02:41:05 -04:00
John Wiegley
48cb87b8bd formatting changes 2008-04-13 02:41:04 -04:00
John Wiegley
4faed720b5 Whitespace changes. 2008-04-13 02:41:01 -04:00
John Wiegley
10c78678bc (parse): When an entry does not balance, print the entry so the user
can see what Ledger saw.
2008-04-13 02:40:59 -04:00
John Wiegley
1c7669671c Changes to support building with gcc 2.95. 2008-04-13 02:40:57 -04:00
John Wiegley
a874bc851e *** empty log message *** 2008-04-13 02:40:57 -04:00
John Wiegley
9aad55540e *** empty log message *** 2008-04-13 02:40:55 -04:00
John Wiegley
ed000a6967 Added support for each entry to remember: the file it came from, and
the beginning and ending character positions of that entry within the
file.  This makes it possible to reproduce the input exactly, with
only the changed entries updated.
2008-04-13 02:40:54 -04:00
John Wiegley
b697424b44 (parse): Added "D" directive to ledger files, which allows the user to
specify which commodity is used for the default when none is specified
or calculated by the "entry" command.
2008-04-13 02:40:49 -04:00
John Wiegley
b02c7ef8aa Fixed a textual parsing bug. 2008-04-13 02:40:48 -04:00
John Wiegley
c9fb11bd60 updated to version 2.0 2008-04-13 02:40:47 -04:00
John Wiegley
a32173ace6 changes 2008-04-13 02:40:47 -04:00