summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2009-11-02 01:59:04 -0500
committerJohn Wiegley <johnw@newartisans.com>2009-11-02 01:59:24 -0500
commit4a249d6172773db571556f469be6ee2c1c3690e9 (patch)
treeefb7cda6dfd63ff157cd7177db31cd88355b9099
parent90c7298049546bd8d1f4f64aeedd6569780f9259 (diff)
downloadfork-ledger-4a249d6172773db571556f469be6ee2c1c3690e9.tar.gz
fork-ledger-4a249d6172773db571556f469be6ee2c1c3690e9.tar.bz2
fork-ledger-4a249d6172773db571556f469be6ee2c1c3690e9.zip
Fixed issues with period strings like "2009/10"
-rw-r--r--src/times.cc40
-rw-r--r--test/baseline/opt-add-budget.test144
-rw-r--r--test/baseline/opt-budget.test96
-rw-r--r--test/regress/7F3650FD.test50
4 files changed, 194 insertions, 136 deletions
diff --git a/src/times.cc b/src/times.cc
index 667f65a3..b737b2a0 100644
--- a/src/times.cc
+++ b/src/times.cc
@@ -55,12 +55,13 @@ namespace {
#endif // USE_BOOST_FACETS
public:
- bool has_year;
- bool input;
+ bool has_year;
+ bool has_day;
+ bool input;
temporal_io_t(const char * _fmt_str, bool _input)
: fmt_str(_fmt_str), has_year(icontains(fmt_str, "%y")),
- input(_input) {
+ has_day(icontains(fmt_str, "%d")), input(_input) {
#if defined(USE_BOOST_FACETS)
if (input) {
input_facet = new InputFacetType(fmt_str);
@@ -75,6 +76,7 @@ namespace {
void set_format(const char * fmt) {
fmt_str = fmt;
has_year = icontains(fmt_str, "%y");
+ has_day = icontains(fmt_str, "%d");
#if defined(USE_BOOST_FACETS)
if (input)
@@ -190,7 +192,7 @@ namespace {
date_t parse_date_mask_routine(const char * date_str, date_io_t& io,
optional<date_t::year_type> year,
- bool& saw_year)
+ bool& saw_year, bool& saw_day)
{
date_t when;
@@ -220,26 +222,30 @@ namespace {
if (when.month() > CURRENT_DATE().month())
when -= gregorian::years(1);
- } else {
+ }
+ else {
saw_year = true;
}
+
+ saw_day = io.has_day;
}
return when;
}
date_t parse_date_mask(const char * date_str,
- optional<date_t::year_type> year, bool& saw_year)
+ optional<date_t::year_type> year,
+ bool& saw_year, bool& saw_day)
{
if (input_date_io.get()) {
date_t when = parse_date_mask_routine(date_str, *input_date_io.get(),
- year, saw_year);
+ year, saw_year, saw_day);
if (! when.is_not_a_date())
return when;
}
foreach (shared_ptr<date_io_t>& reader, readers) {
date_t when = parse_date_mask_routine(date_str, *reader.get(),
- year, saw_year);
+ year, saw_year, saw_day);
if (! when.is_not_a_date())
return when;
}
@@ -311,7 +317,8 @@ datetime_t parse_datetime(const char * str, optional<date_t::year_type>)
date_t parse_date(const char * str, optional<date_t::year_type> current_year)
{
bool saw_year;
- return parse_date_mask(str, current_year, saw_year);
+ bool saw_day;
+ return parse_date_mask(str, current_year, saw_year, saw_day);
}
std::ostream& operator<<(std::ostream& out,
@@ -549,7 +556,8 @@ namespace {
date_t * end)
{
bool saw_year = true;
- date_t when = parse_date_mask(word.c_str(), none, saw_year);
+ bool saw_day = true;
+ date_t when = parse_date_mask(word.c_str(), none, saw_year, saw_day);
if (when.is_not_a_date())
throw_(date_error, _("Could not parse date mask: %1") << word);
@@ -558,8 +566,8 @@ namespace {
*begin = when;
if (end) {
- if (saw_year)
- *end = *begin + gregorian::years(1);
+ if (saw_day)
+ *end = *begin + gregorian::days(1);
else
*end = *begin + gregorian::months(1);
}
@@ -728,17 +736,17 @@ void date_interval_t::parse(std::istream& in)
if (wday) {
while (start->day_of_week() != *wday)
- *start = duration_t(duration_t::DAYS, 1).subtract(*start);
+ *start -= gregorian::days(1);
if (! end)
- end = duration_t(duration_t::DAYS, 1).add(*start);
+ end = *start + gregorian::days(1);
} else {
bool overwrite_end = false;
if (year) {
start = date_t(*year, 1, 1);
if (! end) {
- end = duration_t(duration_t::YEARS, 1).add(*start);
+ end = *start + gregorian::years(1);
overwrite_end = true;
}
}
@@ -746,7 +754,7 @@ void date_interval_t::parse(std::istream& in)
if (mon) {
start = date_t(start->year(), *mon, 1);
if (! end || overwrite_end)
- end = duration_t(duration_t::MONTHS, 1).add(*start);
+ end = *start + gregorian::months(1);
}
}
}
diff --git a/test/baseline/opt-add-budget.test b/test/baseline/opt-add-budget.test
index 20dfd320..535335d3 100644
--- a/test/baseline/opt-add-budget.test
+++ b/test/baseline/opt-add-budget.test
@@ -244,124 +244,124 @@ reg --add-budget books cards
Liabilities:Cards $120.00
Assets:Cash
>>>1
-08-Jan-01 January Expenses:Books $10.00 $10.00
- Liabilities:Cards $10.00 $20.00
-08-Jan-01 Budget transaction Expenses:Books $-10.00 $10.00
+08-Jan-01 Budget transaction Expenses:Books $-10.00 $-10.00
+08-Jan-01 January Expenses:Books $10.00 0
+ Liabilities:Cards $10.00 $10.00
08-Jan-31 End of January Expenses:Books $10.00 $20.00
Liabilities:Cards $10.00 $30.00
-08-Feb-01 February Expenses:Books $20.00 $50.00
- Liabilities:Cards $20.00 $70.00
-08-Feb-01 Budget transaction Expenses:Books $-10.00 $60.00
+08-Feb-01 Budget transaction Expenses:Books $-10.00 $20.00
+08-Feb-01 February Expenses:Books $20.00 $40.00
+ Liabilities:Cards $20.00 $60.00
08-Feb-28 End of February Expenses:Books $20.00 $80.00
Liabilities:Cards $20.00 $100.00
-08-Mar-01 March Expenses:Books $30.00 $130.00
- Liabilities:Cards $30.00 $160.00
-08-Mar-01 Budget transaction Expenses:Books $-10.00 $150.00
+08-Mar-01 Budget transaction Expenses:Books $-10.00 $90.00
+08-Mar-01 March Expenses:Books $30.00 $120.00
+ Liabilities:Cards $30.00 $150.00
08-Mar-31 End of March Expenses:Books $30.00 $180.00
Liabilities:Cards $30.00 $210.00
-08-Apr-01 April Expenses:Books $40.00 $250.00
- Liabilities:Cards $40.00 $290.00
-08-Apr-01 Budget transaction Expenses:Books $-10.00 $280.00
+08-Apr-01 Budget transaction Expenses:Books $-10.00 $200.00
+08-Apr-01 April Expenses:Books $40.00 $240.00
+ Liabilities:Cards $40.00 $280.00
08-Apr-30 End of April Expenses:Books $40.00 $320.00
Liabilities:Cards $40.00 $360.00
-08-May-01 May Expenses:Books $50.00 $410.00
- Liabilities:Cards $50.00 $460.00
-08-May-01 Budget transaction Expenses:Books $-10.00 $450.00
+08-May-01 Budget transaction Expenses:Books $-10.00 $350.00
+08-May-01 May Expenses:Books $50.00 $400.00
+ Liabilities:Cards $50.00 $450.00
08-May-31 End of May Expenses:Books $50.00 $500.00
Liabilities:Cards $50.00 $550.00
-08-Jun-01 June Expenses:Books $60.00 $610.00
- Liabilities:Cards $60.00 $670.00
-08-Jun-01 Budget transaction Expenses:Books $-10.00 $660.00
+08-Jun-01 Budget transaction Expenses:Books $-10.00 $540.00
+08-Jun-01 June Expenses:Books $60.00 $600.00
+ Liabilities:Cards $60.00 $660.00
08-Jun-30 End of June Expenses:Books $60.00 $720.00
Liabilities:Cards $60.00 $780.00
-08-Jul-01 July Expenses:Books $70.00 $850.00
- Liabilities:Cards $70.00 $920.00
-08-Jul-01 Budget transaction Expenses:Books $-10.00 $910.00
+08-Jul-01 Budget transaction Expenses:Books $-10.00 $770.00
+08-Jul-01 July Expenses:Books $70.00 $840.00
+ Liabilities:Cards $70.00 $910.00
08-Jul-31 End of July Expenses:Books $70.00 $980.00
Liabilities:Cards $70.00 $1050.00
-08-Aug-01 August Expenses:Books $80.00 $1130.00
- Liabilities:Cards $80.00 $1210.00
-08-Aug-01 Budget transaction Expenses:Books $-10.00 $1200.00
+08-Aug-01 Budget transaction Expenses:Books $-10.00 $1040.00
+08-Aug-01 August Expenses:Books $80.00 $1120.00
+ Liabilities:Cards $80.00 $1200.00
08-Aug-31 End of August Expenses:Books $80.00 $1280.00
Liabilities:Cards $80.00 $1360.00
-08-Sep-01 September Expenses:Books $90.00 $1450.00
- Liabilities:Cards $90.00 $1540.00
-08-Sep-01 Budget transaction Expenses:Books $-10.00 $1530.00
+08-Sep-01 Budget transaction Expenses:Books $-10.00 $1350.00
+08-Sep-01 September Expenses:Books $90.00 $1440.00
+ Liabilities:Cards $90.00 $1530.00
08-Sep-30 End of September Expenses:Books $90.00 $1620.00
Liabilities:Cards $90.00 $1710.00
-08-Oct-01 October Expenses:Books $100.00 $1810.00
- Liabilities:Cards $100.00 $1910.00
-08-Oct-01 Budget transaction Expenses:Books $-10.00 $1900.00
+08-Oct-01 Budget transaction Expenses:Books $-10.00 $1700.00
+08-Oct-01 October Expenses:Books $100.00 $1800.00
+ Liabilities:Cards $100.00 $1900.00
08-Oct-31 End of October Expenses:Books $100.00 $2000.00
Liabilities:Cards $100.00 $2100.00
-08-Nov-01 November Expenses:Books $110.00 $2210.00
- Liabilities:Cards $110.00 $2320.00
-08-Nov-01 Budget transaction Expenses:Books $-10.00 $2310.00
+08-Nov-01 Budget transaction Expenses:Books $-10.00 $2090.00
+08-Nov-01 November Expenses:Books $110.00 $2200.00
+ Liabilities:Cards $110.00 $2310.00
08-Nov-30 End of November Expenses:Books $110.00 $2420.00
Liabilities:Cards $110.00 $2530.00
-08-Dec-01 December Expenses:Books $120.00 $2650.00
- Liabilities:Cards $120.00 $2770.00
-08-Dec-01 Budget transaction Expenses:Books $-10.00 $2760.00
+08-Dec-01 Budget transaction Expenses:Books $-10.00 $2520.00
+08-Dec-01 December Expenses:Books $120.00 $2640.00
+ Liabilities:Cards $120.00 $2760.00
08-Dec-31 End of December Expenses:Books $120.00 $2880.00
Liabilities:Cards $120.00 $3000.00
-09-Jan-01 January Expenses:Books $10.00 $3010.00
- Liabilities:Cards $10.00 $3020.00
-09-Jan-01 Budget transaction Expenses:Books $-10.00 $3010.00
+09-Jan-01 Budget transaction Expenses:Books $-10.00 $2990.00
+09-Jan-01 January Expenses:Books $10.00 $3000.00
+ Liabilities:Cards $10.00 $3010.00
09-Jan-31 End of January Expenses:Books $10.00 $3020.00
Liabilities:Cards $10.00 $3030.00
-09-Feb-01 February Expenses:Books $20.00 $3050.00
- Liabilities:Cards $20.00 $3070.00
-09-Feb-01 Budget transaction Expenses:Books $-10.00 $3060.00
+09-Feb-01 Budget transaction Expenses:Books $-10.00 $3020.00
+09-Feb-01 February Expenses:Books $20.00 $3040.00
+ Liabilities:Cards $20.00 $3060.00
09-Feb-28 End of February Expenses:Books $20.00 $3080.00
Liabilities:Cards $20.00 $3100.00
-09-Mar-01 March Expenses:Books $30.00 $3130.00
- Liabilities:Cards $30.00 $3160.00
-09-Mar-01 Budget transaction Expenses:Books $-10.00 $3150.00
+09-Mar-01 Budget transaction Expenses:Books $-10.00 $3090.00
+09-Mar-01 March Expenses:Books $30.00 $3120.00
+ Liabilities:Cards $30.00 $3150.00
09-Mar-31 End of March Expenses:Books $30.00 $3180.00
Liabilities:Cards $30.00 $3210.00
-09-Apr-01 April Expenses:Books $40.00 $3250.00
- Liabilities:Cards $40.00 $3290.00
-09-Apr-01 Budget transaction Expenses:Books $-10.00 $3280.00
+09-Apr-01 Budget transaction Expenses:Books $-10.00 $3200.00
+09-Apr-01 April Expenses:Books $40.00 $3240.00
+ Liabilities:Cards $40.00 $3280.00
09-Apr-30 End of April Expenses:Books $40.00 $3320.00
Liabilities:Cards $40.00 $3360.00
-09-May-01 May Expenses:Books $50.00 $3410.00
- Liabilities:Cards $50.00 $3460.00
-09-May-01 Budget transaction Expenses:Books $-10.00 $3450.00
+09-May-01 Budget transaction Expenses:Books $-10.00 $3350.00
+09-May-01 May Expenses:Books $50.00 $3400.00
+ Liabilities:Cards $50.00 $3450.00
09-May-31 End of May Expenses:Books $50.00 $3500.00
Liabilities:Cards $50.00 $3550.00
-09-Jun-01 June Expenses:Books $60.00 $3610.00
- Liabilities:Cards $60.00 $3670.00
-09-Jun-01 Budget transaction Expenses:Books $-10.00 $3660.00
+09-Jun-01 Budget transaction Expenses:Books $-10.00 $3540.00
+09-Jun-01 June Expenses:Books $60.00 $3600.00
+ Liabilities:Cards $60.00 $3660.00
09-Jun-30 End of June Expenses:Books $60.00 $3720.00
Liabilities:Cards $60.00 $3780.00
-09-Jul-01 July Expenses:Books $70.00 $3850.00
- Liabilities:Cards $70.00 $3920.00
-09-Jul-01 Budget transaction Expenses:Books $-10.00 $3910.00
+09-Jul-01 Budget transaction Expenses:Books $-10.00 $3770.00
+09-Jul-01 July Expenses:Books $70.00 $3840.00
+ Liabilities:Cards $70.00 $3910.00
09-Jul-31 End of July Expenses:Books $70.00 $3980.00
Liabilities:Cards $70.00 $4050.00
-09-Aug-01 August Expenses:Books $80.00 $4130.00
- Liabilities:Cards $80.00 $4210.00
-09-Aug-01 Budget transaction Expenses:Books $-10.00 $4200.00
+09-Aug-01 Budget transaction Expenses:Books $-10.00 $4040.00
+09-Aug-01 August Expenses:Books $80.00 $4120.00
+ Liabilities:Cards $80.00 $4200.00
09-Aug-31 End of August Expenses:Books $80.00 $4280.00
Liabilities:Cards $80.00 $4360.00
-09-Sep-01 September Expenses:Books $90.00 $4450.00
- Liabilities:Cards $90.00 $4540.00
-09-Sep-01 Budget transaction Expenses:Books $-10.00 $4530.00
+09-Sep-01 Budget transaction Expenses:Books $-10.00 $4350.00
+09-Sep-01 September Expenses:Books $90.00 $4440.00
+ Liabilities:Cards $90.00 $4530.00
09-Sep-30 End of September Expenses:Books $90.00 $4620.00
Liabilities:Cards $90.00 $4710.00
-09-Oct-01 October Expenses:Books $100.00 $4810.00
- Liabilities:Cards $100.00 $4910.00
-09-Oct-01 Budget transaction Expenses:Books $-10.00 $4900.00
+09-Oct-01 Budget transaction Expenses:Books $-10.00 $4700.00
+09-Oct-01 October Expenses:Books $100.00 $4800.00
+ Liabilities:Cards $100.00 $4900.00
09-Oct-31 End of October Expenses:Books $100.00 $5000.00
Liabilities:Cards $100.00 $5100.00
-09-Nov-01 November Expenses:Books $110.00 $5210.00
- Liabilities:Cards $110.00 $5320.00
-09-Nov-01 Budget transaction Expenses:Books $-10.00 $5310.00
+09-Nov-01 Budget transaction Expenses:Books $-10.00 $5090.00
+09-Nov-01 November Expenses:Books $110.00 $5200.00
+ Liabilities:Cards $110.00 $5310.00
09-Nov-30 End of November Expenses:Books $110.00 $5420.00
Liabilities:Cards $110.00 $5530.00
-09-Dec-01 December Expenses:Books $120.00 $5650.00
- Liabilities:Cards $120.00 $5770.00
-09-Dec-01 Budget transaction Expenses:Books $-10.00 $5760.00
+09-Dec-01 Budget transaction Expenses:Books $-10.00 $5520.00
+09-Dec-01 December Expenses:Books $120.00 $5640.00
+ Liabilities:Cards $120.00 $5760.00
09-Dec-31 End of December Expenses:Books $120.00 $5880.00
Liabilities:Cards $120.00 $6000.00
>>>2
diff --git a/test/baseline/opt-budget.test b/test/baseline/opt-budget.test
index 097d19d8..eb2ade9d 100644
--- a/test/baseline/opt-budget.test
+++ b/test/baseline/opt-budget.test
@@ -245,77 +245,77 @@ reg --budget books
Liabilities:Cards $120.00
Assets:Cash
>>>1
-08-Jan-01 January Expenses:Books $10.00 $10.00
-08-Jan-01 Budget transaction Expenses:Books $-10.00 0
+08-Jan-01 Budget transaction Expenses:Books $-10.00 $-10.00
+08-Jan-01 January Expenses:Books $10.00 0
08-Jan-31 End of January Expenses:Books $10.00 $10.00
-08-Feb-01 February Expenses:Books $20.00 $30.00
-08-Feb-01 Budget transaction Expenses:Books $-10.00 $20.00
+08-Feb-01 Budget transaction Expenses:Books $-10.00 0
+08-Feb-01 February Expenses:Books $20.00 $20.00
08-Feb-28 End of February Expenses:Books $20.00 $40.00
-08-Mar-01 March Expenses:Books $30.00 $70.00
-08-Mar-01 Budget transaction Expenses:Books $-10.00 $60.00
+08-Mar-01 Budget transaction Expenses:Books $-10.00 $30.00
+08-Mar-01 March Expenses:Books $30.00 $60.00
08-Mar-31 End of March Expenses:Books $30.00 $90.00
-08-Apr-01 April Expenses:Books $40.00 $130.00
-08-Apr-01 Budget transaction Expenses:Books $-10.00 $120.00
+08-Apr-01 Budget transaction Expenses:Books $-10.00 $80.00
+08-Apr-01 April Expenses:Books $40.00 $120.00
08-Apr-30 End of April Expenses:Books $40.00 $160.00
-08-May-01 May Expenses:Books $50.00 $210.00
-08-May-01 Budget transaction Expenses:Books $-10.00 $200.00
+08-May-01 Budget transaction Expenses:Books $-10.00 $150.00
+08-May-01 May Expenses:Books $50.00 $200.00
08-May-31 End of May Expenses:Books $50.00 $250.00
-08-Jun-01 June Expenses:Books $60.00 $310.00
-08-Jun-01 Budget transaction Expenses:Books $-10.00 $300.00
+08-Jun-01 Budget transaction Expenses:Books $-10.00 $240.00
+08-Jun-01 June Expenses:Books $60.00 $300.00
08-Jun-30 End of June Expenses:Books $60.00 $360.00
-08-Jul-01 July Expenses:Books $70.00 $430.00
-08-Jul-01 Budget transaction Expenses:Books $-10.00 $420.00
+08-Jul-01 Budget transaction Expenses:Books $-10.00 $350.00
+08-Jul-01 July Expenses:Books $70.00 $420.00
08-Jul-31 End of July Expenses:Books $70.00 $490.00
-08-Aug-01 August Expenses:Books $80.00 $570.00
-08-Aug-01 Budget transaction Expenses:Books $-10.00 $560.00
+08-Aug-01 Budget transaction Expenses:Books $-10.00 $480.00
+08-Aug-01 August Expenses:Books $80.00 $560.00
08-Aug-31 End of August Expenses:Books $80.00 $640.00
-08-Sep-01 September Expenses:Books $90.00 $730.00
-08-Sep-01 Budget transaction Expenses:Books $-10.00 $720.00
+08-Sep-01 Budget transaction Expenses:Books $-10.00 $630.00
+08-Sep-01 September Expenses:Books $90.00 $720.00
08-Sep-30 End of September Expenses:Books $90.00 $810.00
-08-Oct-01 October Expenses:Books $100.00 $910.00
-08-Oct-01 Budget transaction Expenses:Books $-10.00 $900.00
+08-Oct-01 Budget transaction Expenses:Books $-10.00 $800.00
+08-Oct-01 October Expenses:Books $100.00 $900.00
08-Oct-31 End of October Expenses:Books $100.00 $1000.00
-08-Nov-01 November Expenses:Books $110.00 $1110.00
-08-Nov-01 Budget transaction Expenses:Books $-10.00 $1100.00
+08-Nov-01 Budget transaction Expenses:Books $-10.00 $990.00
+08-Nov-01 November Expenses:Books $110.00 $1100.00
08-Nov-30 End of November Expenses:Books $110.00 $1210.00
-08-Dec-01 December Expenses:Books $120.00 $1330.00
-08-Dec-01 Budget transaction Expenses:Books $-10.00 $1320.00
+08-Dec-01 Budget transaction Expenses:Books $-10.00 $1200.00
+08-Dec-01 December Expenses:Books $120.00 $1320.00
08-Dec-31 End of December Expenses:Books $120.00 $1440.00
-09-Jan-01 January Expenses:Books $10.00 $1450.00
-09-Jan-01 Budget transaction Expenses:Books $-10.00 $1440.00
+09-Jan-01 Budget transaction Expenses:Books $-10.00 $1430.00
+09-Jan-01 January Expenses:Books $10.00 $1440.00
09-Jan-31 End of January Expenses:Books $10.00 $1450.00
-09-Feb-01 February Expenses:Books $20.00 $1470.00
-09-Feb-01 Budget transaction Expenses:Books $-10.00 $1460.00
+09-Feb-01 Budget transaction Expenses:Books $-10.00 $1440.00
+09-Feb-01 February Expenses:Books $20.00 $1460.00
09-Feb-28 End of February Expenses:Books $20.00 $1480.00
-09-Mar-01 March Expenses:Books $30.00 $1510.00
-09-Mar-01 Budget transaction Expenses:Books $-10.00 $1500.00
+09-Mar-01 Budget transaction Expenses:Books $-10.00 $1470.00
+09-Mar-01 March Expenses:Books $30.00 $1500.00
09-Mar-31 End of March Expenses:Books $30.00 $1530.00
-09-Apr-01 April Expenses:Books $40.00 $1570.00
-09-Apr-01 Budget transaction Expenses:Books $-10.00 $1560.00
+09-Apr-01 Budget transaction Expenses:Books $-10.00 $1520.00
+09-Apr-01 April Expenses:Books $40.00 $1560.00
09-Apr-30 End of April Expenses:Books $40.00 $1600.00
-09-May-01 May Expenses:Books $50.00 $1650.00
-09-May-01 Budget transaction Expenses:Books $-10.00 $1640.00
+09-May-01 Budget transaction Expenses:Books $-10.00 $1590.00
+09-May-01 May Expenses:Books $50.00 $1640.00
09-May-31 End of May Expenses:Books $50.00 $1690.00
-09-Jun-01 June Expenses:Books $60.00 $1750.00
-09-Jun-01 Budget transaction Expenses:Books $-10.00 $1740.00
+09-Jun-01 Budget transaction Expenses:Books $-10.00 $1680.00
+09-Jun-01 June Expenses:Books $60.00 $1740.00
09-Jun-30 End of June Expenses:Books $60.00 $1800.00
-09-Jul-01 July Expenses:Books $70.00 $1870.00
-09-Jul-01 Budget transaction Expenses:Books $-10.00 $1860.00
+09-Jul-01 Budget transaction Expenses:Books $-10.00 $1790.00
+09-Jul-01 July Expenses:Books $70.00 $1860.00
09-Jul-31 End of July Expenses:Books $70.00 $1930.00
-09-Aug-01 August Expenses:Books $80.00 $2010.00
-09-Aug-01 Budget transaction Expenses:Books $-10.00 $2000.00
+09-Aug-01 Budget transaction Expenses:Books $-10.00 $1920.00
+09-Aug-01 August Expenses:Books $80.00 $2000.00
09-Aug-31 End of August Expenses:Books $80.00 $2080.00
-09-Sep-01 September Expenses:Books $90.00 $2170.00
-09-Sep-01 Budget transaction Expenses:Books $-10.00 $2160.00
+09-Sep-01 Budget transaction Expenses:Books $-10.00 $2070.00
+09-Sep-01 September Expenses:Books $90.00 $2160.00
09-Sep-30 End of September Expenses:Books $90.00 $2250.00
-09-Oct-01 October Expenses:Books $100.00 $2350.00
-09-Oct-01 Budget transaction Expenses:Books $-10.00 $2340.00
+09-Oct-01 Budget transaction Expenses:Books $-10.00 $2240.00
+09-Oct-01 October Expenses:Books $100.00 $2340.00
09-Oct-31 End of October Expenses:Books $100.00 $2440.00
-09-Nov-01 November Expenses:Books $110.00 $2550.00
-09-Nov-01 Budget transaction Expenses:Books $-10.00 $2540.00
+09-Nov-01 Budget transaction Expenses:Books $-10.00 $2430.00
+09-Nov-01 November Expenses:Books $110.00 $2540.00
09-Nov-30 End of November Expenses:Books $110.00 $2650.00
-09-Dec-01 December Expenses:Books $120.00 $2770.00
-09-Dec-01 Budget transaction Expenses:Books $-10.00 $2760.00
+09-Dec-01 Budget transaction Expenses:Books $-10.00 $2640.00
+09-Dec-01 December Expenses:Books $120.00 $2760.00
09-Dec-31 End of December Expenses:Books $120.00 $2880.00
>>>2
=== 0
diff --git a/test/regress/7F3650FD.test b/test/regress/7F3650FD.test
new file mode 100644
index 00000000..0eb3a96f
--- /dev/null
+++ b/test/regress/7F3650FD.test
@@ -0,0 +1,50 @@
+period --now=2010/11/01 12/01
+<<<
+>>>1
+global details =>
+
+ start: 09-Dec-01
+ end: 09-Dec-02
+ factor: 1
+>>>2
+=== 0
+period --now=2010/11/01 10/01
+<<<
+>>>1
+global details =>
+
+ start: 10-Oct-01
+ end: 10-Oct-02
+ factor: 1
+>>>2
+=== 0
+period --now=2010/11/01 2009/10
+<<<
+>>>1
+global details =>
+
+ start: 09-Oct-01
+ end: 09-Nov-01
+ factor: 1
+>>>2
+=== 0
+period --now=2010/11/01 2009/10/01
+<<<
+>>>1
+global details =>
+
+ start: 09-Oct-01
+ end: 09-Oct-02
+ factor: 1
+>>>2
+=== 0
+period --now=2010/11/01 2009
+<<<
+>>>1
+global details =>
+
+ start: 09-Jan-01
+ end: 10-Jan-01
+ factor: 1
+>>>2
+=== 0