diff options
-rw-r--r-- | doc/ledger3.texi | 2 | ||||
-rw-r--r-- | lisp/ledger-occur.el | 2 | ||||
-rw-r--r-- | src/filters.cc | 2 | ||||
-rw-r--r-- | test/regress/730.test | 37 |
4 files changed, 40 insertions, 3 deletions
diff --git a/doc/ledger3.texi b/doc/ledger3.texi index 05420295..22bab2af 100644 --- a/doc/ledger3.texi +++ b/doc/ledger3.texi @@ -5252,7 +5252,7 @@ Say you currently have this posting in your ledger file: Liabilities:MasterCard $-15.00 @end smallexample -Now it's @samp{2004/4/9}, and you've just eating at @samp{Viva Italiano} +Now it's @samp{2004/4/9}, and you've just eaten at @samp{Viva Italiano} again. The exact amounts are different, but the overall form is the same. With the @command{xact} command you can type: diff --git a/lisp/ledger-occur.el b/lisp/ledger-occur.el index 3174144e..1df4e7a0 100644 --- a/lisp/ledger-occur.el +++ b/lisp/ledger-occur.el @@ -55,7 +55,7 @@ nil (:eval (format " Ledger-Narrow(%s)" ledger-occur-current-regex)) ledger-occur-mode-map - (if ledger-occur-mode + (if (and ledger-occur-current-regex ledger-occur-mode) (ledger-occur-refresh) (ledger-occur-remove-overlays) (message "Showing all transactions"))) diff --git a/src/filters.cc b/src/filters.cc index bdc2983b..d24188f5 100644 --- a/src/filters.cc +++ b/src/filters.cc @@ -983,7 +983,7 @@ void interval_posts::flush() sort_posts_by_date()); // Determine the beginning interval by using the earliest post - if (all_posts.front() && + if (all_posts.size() > 0 && all_posts.front() && ! interval.find_period(all_posts.front()->date())) throw_(std::logic_error, _("Failed to find period for interval report")); diff --git a/test/regress/730.test b/test/regress/730.test new file mode 100644 index 00000000..d81a1c22 --- /dev/null +++ b/test/regress/730.test @@ -0,0 +1,37 @@ +; Using -M in combination with an empty result causes a segmentation fault +; therefore this test case does not have or need any test data + +test -f /dev/null -M reg +end test + +; Tests mentioned in #730 +test reg -M +end test + +test reg -M .foo +end test + +test reg -M -e 2012/01 +end test + + +; Tests mentioned in #1080 +test reg '^Expenses' and expr 'any(account =~ /^Assets:Cash/)' --period 'every week this month' +end test + +test bal '^Expenses' and expr 'any(account =~ /^Assets:Cash/)' --period 'every week this month' +end test + +test bal reg foo and expr 'any(account =~ /bar/)' --period 'every week' +end test + + +; Tests mentioned in #1084 +test b abc -M +end test + +test reg foo -M +end test + +test bal foo -M +end test |