- Re-enabled the modify command.
- Re-implemented Arguments::inject_defaults to accomodate the idea
of the default command, the modify command without the modify
keyword, and the automatic info command.
- Added feature #559, which implements a new configuration variable,
rc.exit.on.missing.db, which causes taskwarrior to exit if the
rc.data.location is missing (thanks to Sander Marechal).
- Fixed 'limit:N' bug, whereby when a report specifies a limit, and
the user overrides it, there are potentially two limit arguments,
in which case the last one, not the first one is needed.
- Removed DOM caching, which appears to be a problem.
- Added 'id' and 'uuid' to DOM::get, which were missing, and therefore
caused all filters with sequences to fail.
- Modified CmdInfo to load all tasks, until TDB2 is here.
- Implemented support for rc.default.command.
- Implemented support for assumed info command.
- Implemented Arguments::inject_defaults to insert default arguments
at just the right location.
- Corrected CmdCustom handling of limit:page.
- Added regex support to substirutions.
- Fixed bug that prevented 1.9.4 from shipping with regexes. If the
description is "aXXaaXXa", and the substitution is /XX/.../ then the
first substitutions changes the length of the string to "a...aaXXa"
and therefore invalidates the index for the second match, and makes
this change: "a...a...Xa". The fix is to keep a running 'skew' count
of the difference in 'from' and 'to' length, to adjust the match
indexes.
- Moved the helper deltaSubstitutions function into the Task object,
which makes more sense.
- Cleaned up output composition for CmdAdd.
- Eliminated #ifdef FEATURE_REGEX. They are here to stay.
- Implemented add and log commands using new infrastructure.
- Relaxed restriction about creating completed tasks with no dependencies.
- Localized CmdAdd.cpp CmdLog.cpp.
- Implemented Command::modify_task to apply command line arguments to a
specified task.
- Implemented Command::apply_defaults to apply various initial values to
a specified task, such as entry date.
- Implemented RegX class to maintain a separate compile, and match
method, thereby allowing efficient re-use of the regex. This is
critical to Expression::eval, where an identical regex might be
applied to every task.
- Obsoleted rx.{h,cpp}, which combined the compile and match steps
into a single call, and is therefore not efficient when used in
the context of filtering.
- Fixed some unit tests that weren't building. Now they do. They
don't work of course (don't be silly) but that's a problem for
another day.
- Modified all code that relies on rx.h to use RegX.h.