summaryrefslogtreecommitdiff
path: root/config.cc
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2006-02-27 10:05:36 +0000
committerJohn Wiegley <johnw@newartisans.com>2008-04-13 02:41:26 -0400
commit56e95af8e001849ada8934ad31512d76ed4265f2 (patch)
treebd6732c055cd5337777979ddd3f1abaf35511cbb /config.cc
parente75bb1f71fca2f67446d0caa4a98bb0168e66119 (diff)
downloadfork-ledger-56e95af8e001849ada8934ad31512d76ed4265f2.tar.gz
fork-ledger-56e95af8e001849ada8934ad31512d76ed4265f2.tar.bz2
fork-ledger-56e95af8e001849ada8934ad31512d76ed4265f2.zip
(config_t::regexps_to_predicate): Don't set the display predicate to
show only matching accounts when the --related flag is in use (which was effectively masking out the whole point of using --related with balance reports).
Diffstat (limited to 'config.cc')
-rw-r--r--config.cc25
1 files changed, 15 insertions, 10 deletions
diff --git a/config.cc b/config.cc
index 397236b4..3344c708 100644
--- a/config.cc
+++ b/config.cc
@@ -130,16 +130,21 @@ config_t::regexps_to_predicate(const std::string& command,
}
if (i != 1 && command == "b" && account_regexp) {
- if (! display_predicate.empty())
- display_predicate += "&";
- else if (! show_empty)
- display_predicate += "T&";
-
- if (add_predicate == 2)
- display_predicate += "//";
- display_predicate += "/(?:";
- display_predicate += regexps[i];
- display_predicate += ")/";
+ if (! show_related && ! show_all_related) {
+ if (! display_predicate.empty())
+ display_predicate += "&";
+ else if (! show_empty)
+ display_predicate += "T&";
+
+ if (add_predicate == 2)
+ display_predicate += "//";
+ display_predicate += "/(?:";
+ display_predicate += regexps[i];
+ display_predicate += ")/";
+ }
+ else if (! show_empty) {
+ display_predicate += "T";
+ }
}
if (! account_regexp)