- Many files were missing an explicit cmake.h include. Some were not including
it at all. Now it's used almost everywhere.
(cherry picked from commit 82ae86979c497e6d1d0c6b2b5a55aa379ec82c98)
- Cmake was not updating HAVE_ST_BIRTHTIME.
- NIBBLER_FEATURE_DATE was not properly applied everywhere.
- FEATURE_COLOR was not properly set.
- Some source files failed to include cmake.h, and therefore were not properly
- Removed inefficient use of std::string::substr for guaranteed single character
strings.
- Integrated Directory::cd.
- Integrated File::ctime, ::btime.
- Integrated Path::operator+.
- Integrated Nibbler::getDigit{2,4,6}.
- Integrated HighResTimer.
enabling/disabling code.
- All Path objects now expanded internally to absolute form.
- Modified unit tests to accomodate absolute paths.
- Merged new nibbler.t.cpp tests.
- Made various methods const.
- Includes removed from some files, added to others.
- Fixed bug #1031, which kept expanding aliases after the '--' operator (thanks
to Jim B).
- Cleaned up mess in the ChangeLog, which should list features before bugs,
reported issues before ad hoc issues, and in ascending numerical order.
- Added an A3::is_attr type override for 'recur', which needs to be
treated as an un-expanded 'string' type, most, but not all of the
time.
- Documented the above in ColRecur.cpp.
- Modified Command.cpp to recognize both type 'duration' and name 'recur'.
- Removed Command::next_mod_group argument coalescing for date types,
which was not used anyway.
- Improved the error message for unrecognized durations, which previously
included the word 'date'.
- Modified unit tests to accomodate the above error message change.
- Added bug.972.t unit tests, which fail, because it isn't fixed yet.
- Made A3::dump const so it can be used anywhere.
- Fixed bug #1006, #1024, which caused words like the German 'im' and 'des' in
a description to be expanded into 'imask' and 'description' (thanks to
Louis-Claude Canon and Martin U).
- Promoted Louis-Claude Canon in the AUTHORS file, added Martin U.
- Fixed bug #995, which mis-parsed UUIDs in filters as other elements (thanks
to Bryce Harrington).
- Nibbler no longer permits 8-character UUID abbreviations, because too often
they resemble other forms, such as '1111111d' which looks like a duration.
- Modified unit tests accordingly.
- Removed the feature that allows commands to be piped in to stdin,
and appended to any existing command line. This feature is
conditionally compiled, controlled by the FEATURE_STDIN define in
main.h
- Many unit tests contained "echo '-- y'", and now use "echo 'y'"
because the '--' is no longer supported on stdin.
- Thanks to the IRC team for testing, including Bryce Harrington,
Sam Stuck, Owen Clarke, Greg Grossmeier.
Manually include unistd.h in a couple of places get things building with gcc
4.7, which removed it from the global namespace. This fixes the following build
errors:
src/A3.cpp:283:3: error: 'STDIN_FILENO' was not declared in this scope
src/commands/CmdEdit.cpp:598:30: error: 'getpid' was not declared in this scope
src/commands/CmdEdit.cpp:603:47: error: 'chdir' was not declared in this scope
Signed-off-by: Paul Beckingham <paul@beckingham.net>
- Tag matching was being performed using the regex \b<tag>\b, which makes
taskwarrior dependent on regex lib bugs for basic functionality. This is
now modified to use pseudo-operators _hastag_ and _notag_.
- Fixed bug #818, which caused partial tag matching (thanks to Joe Holloway).
- Note that the regex word boundary anchors are different for Solaris
and Linux, and largely broken on OSX.
- Added unit tests.
- Possible fix for bug #892, which I cannot replicate anyway. This fix
involves testing my suspicion that std::map autovivifies via
std::map::operator[], which is not nice. Will ask Dmitriy to confirm.
- Added feature #827, which allows augmentation of default.command with extra
arguments, when default.command itself contains mulitple arguments (thanks to
Aikido Guy).
- Fixed bug #846, which prevented the default.command configuration from
handling multiple arguments (thanks to Uli Martens).
- While fixing bug.360.t, discovered a bigger problem, which is not yet
fixed. When a due date is removed from a recurring child task, the
imask, parent and recur attributes should also be removed. Similarly
when a recur frequency is removed from a recurring child task, the
imask and parent should also be removed.
- Net result: two new failing tests.
- Lowered the precedence of tag detection so that dates and durations are
recognized first.
- Modified the allowable tokens for a tag to be almost anything.
- Re-enabled shadow files, but in a new, simpler manner, that allows the
rc.shadow.command to override settings like color if necessary.
- Modifed A3 to capture program name and store it in the Context.
- Some attribute values (ie wait:tomorrow) when parsed, need to take
the data type of the attribute (date) and use that as an implied type
of the value (date literal).
- Arg renders type-less and category-less values as "", instead of "none".
Cleaner output.
- Arg now has a _value member that reflects the value in play, rather
than the input _raw value. Only _value is used in eval.
- DOM expansion capabilities are now controlled by rc.dom.
- Arguments are now categorized as either "literal" or a specific
category, with accompanying type. Type is inferred for literals,
and referenced for attributes.