diff --git a/ChangeLog b/ChangeLog index f245acb3e..0fa723a81 100644 --- a/ChangeLog +++ b/ChangeLog @@ -49,6 +49,8 @@ status (thanks to Steve Rader). + Fixed bug that caused entry, end, start and wait dates to not use report- specific date format overrides (thanks to Eric Fluger). + + Fixed bug #485, which caused filters of 'recur' to fail for partial matches + (thanks to T. Charles Yun). + Fixed bug #515, which displayed an incorrect message after duplicating a non-existent task (thanks to Peter De Poorter). + Fixed bug #529, where the 'depends' attribute was not mentioned in the diff --git a/src/Context.cpp b/src/Context.cpp index ed155cb9a..711bc71a7 100644 --- a/src/Context.cpp +++ b/src/Context.cpp @@ -853,6 +853,21 @@ void Context::autoFilter (Att& a, Filter& f) } } + // Recurrence periods are matched left-most. + else if (a.name () == "recur" && a.mod () == "") + { + if (a.value () != "") + { + f.push_back (Att ("recur", "startswith", a.value ())); + debug ("auto filter: " + a.name () + ".startswith:" + a.value ()); + } + else + { + f.push_back (Att ("recur", "is", a.value ())); + debug ("auto filter: " + a.name () + ".is:" + a.value ()); + } + } + // The limit attribute does not participate in filtering, and needs to be // specifically handled in handleCustomReport. else if (a.name () == "limit")