Commit graph

108 commits

Author SHA1 Message Date
John Wiegley
e3aacac7f0 Improvements to the position calculation logic during parsing. 2008-04-13 05:08:55 -04:00
John Wiegley
9ec136db90 *** empty log message *** 2008-04-13 02:41:32 -04:00
John Wiegley
5a93d4819e Reworked the way date/times are handled. 2008-04-13 02:41:32 -04:00
John Wiegley
c3c401ac0f *** empty log message *** 2008-04-13 02:41:32 -04:00
John Wiegley
a5aff9eee9 Several fixes to lot price handling. 2008-04-13 02:41:31 -04:00
John Wiegley
44561c1c1d Further refinement of commodity lot information. 2008-04-13 02:41:31 -04:00
John Wiegley
32bdfe20d9 Tons of corrections and fixes to value expressions and lot figures. 2008-04-13 02:41:31 -04:00
John Wiegley
9800e3febc *** empty log message *** 2008-04-13 02:41:31 -04:00
John Wiegley
b1a04923fe *** empty log message *** 2008-04-13 02:41:30 -04:00
John Wiegley
2964dd15b2 *** empty log message *** 2008-04-13 02:41:30 -04:00
John Wiegley
f1d5716b95 *** empty log message *** 2008-04-13 02:41:29 -04:00
John Wiegley
e32d9e64a7 Added much better error location. 2008-04-13 02:41:29 -04:00
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