summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/SongFilter.cxx9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/SongFilter.cxx b/src/SongFilter.cxx
index a2a009649..d47926726 100644
--- a/src/SongFilter.cxx
+++ b/src/SongFilter.cxx
@@ -320,8 +320,15 @@ SongFilter::ParseExpression(const char *&s, bool fold_case)
s = StripLeft(s + 1);
- if (*s == '(')
+ if (*s == '(') {
+ auto first = ParseExpression(s, fold_case);
+ if (*s == ')') {
+ ++s;
+ return first;
+ }
+
throw std::runtime_error("Nested expressions not yet implemented");
+ }
auto type = ExpectFilterType(s);