diff --git a/ChangeLog b/ChangeLog index 6a8668408..b562b2a30 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,14 +5,9 @@ Version numbers are of the form: where the X represents a major version number, or architecture. The Y represents a feature release, and the Z represents a patch. ------- plans ------------------------------------- +------ current release --------------------------- -- Configurable columns in reports -- Dependencies -- Recurring tasks - - -1.4.0 () +1.4.0 (7/10/2008) + New recurring tasks feature + "task undelete" can now undelete erroneously deleted tasks, provided no reports have been run (and therefore TDB::gc run) @@ -28,8 +23,9 @@ represents a feature release, and the Z represents a patch. + Bug: Fixed where Esc[0m sequences were being emitted for no good reason + Bug: Fixed underlined table headers when color is turned off + Bug: Adding a blank priority resulted in an assigned garbage value + + Bug: Fixed parsing of date "07/08/2008" when using dateformat "m/d/Y" ------- reality ----------------------------------- +------ old releases ------------------------------ 1.3.1 (6/21/2008) + New configuration variable, "defaultwidth" that determines the width diff --git a/TUTORIAL b/TUTORIAL index 5bf05886b..5da078140 100644 --- a/TUTORIAL +++ b/TUTORIAL @@ -3,14 +3,15 @@ Task program tutorial, for version 1.4.0 -* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -This TUTORIAL file is deprecated. It will not be included in future releases -of task, and will be superceded by an online version that can be found at: +This TUTORIAL file is deprecated, and does not contain all the new features in +release 1.4.0. It will not be included in future releases of task, and will be +superceded by a richer and more extensive online version that can be found at: http://www.beckingham.net/task.html -* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* diff --git a/html/task.html b/html/task.html index f07e8ab41..1ed2baa39 100644 --- a/html/task.html +++ b/html/task.html @@ -77,6 +77,7 @@
  • Fixed bug where Esc[0m sequences were being emitted for no good reason
  • Fixed bug where table headers are underlined when color is turned off
  • Fixed bug where adding a blank priority resulted in an assigned garbage value +
  • Fixed bug parsing date "07/08/2008" when using dateformat "m/d/Y"

    diff --git a/src/Date.cpp b/src/Date.cpp index 0ac8ea7ab..f7378bbb3 100644 --- a/src/Date.cpp +++ b/src/Date.cpp @@ -82,8 +82,8 @@ Date::Date (const std::string& mdy, const std::string& format /* = "m/d/Y" */) } if (i + 1 < mdy.length () && - mdy[i + 0] == '1' && - (mdy[i + 1] == '0' || mdy[i + 1] == '1' || mdy[i + 1] == '2')) + (mdy[i + 0] == '0' || mdy[i + 0] == '1') && + ::isdigit (mdy[i + 1])) { month = ::atoi (mdy.substr (i, 2).c_str ()); i += 2; @@ -102,8 +102,8 @@ Date::Date (const std::string& mdy, const std::string& format /* = "m/d/Y" */) throw std::string ("\"") + mdy + "\" is not a valid date."; } - if (i + 1 < mdy.length () && - (mdy[i + 0] == '1' || mdy[i + 0] == '2' || mdy[i + 0] == '3') && + if (i + 1 < mdy.length () && + (mdy[i + 0] == '0' || mdy[i + 0] == '1' || mdy[i + 0] == '2' || mdy[i + 0] == '3') && ::isdigit (mdy[i + 1])) { day = ::atoi (mdy.substr (i, 2).c_str ()); diff --git a/src/tests/date.t.cpp b/src/tests/date.t.cpp index d6bc79e79..fe830f5aa 100644 --- a/src/tests/date.t.cpp +++ b/src/tests/date.t.cpp @@ -9,7 +9,7 @@ //////////////////////////////////////////////////////////////////////////////// int main (int argc, char** argv) { - plan (97); + plan (100); try { @@ -147,6 +147,11 @@ int main (int argc, char** argv) is (fromString6.day (), 31, "ctor (std::string) -> d"); is (fromString6.year (), 2007, "ctor (std::string) -> y"); + Date fromString7 ("01/01/2008", "m/d/Y"); + is (fromString7.month (), 1, "ctor (std::string) -> m"); + is (fromString7.day (), 1, "ctor (std::string) -> d"); + is (fromString7.year (), 2008, "ctor (std::string) -> y"); + // Relative dates. Date r1 ("today"); ok (r1.sameDay (now), "today = now"); diff --git a/src/tests/duration.t.cpp b/src/tests/duration.t.cpp index e91d35d15..584b94458 100644 --- a/src/tests/duration.t.cpp +++ b/src/tests/duration.t.cpp @@ -18,24 +18,25 @@ int main (int argc, char** argv) { plan (17); - is (convertDuration ("daily"), 1, "duration daily = 1"); - is (convertDuration ("day"), 1, "duration day = 1"); - is (convertDuration ("0d"), 0, "duration 0d = 0"); - is (convertDuration ("1d"), 1, "duration 1d = 1"); - is (convertDuration ("7d"), 7, "duration 7d = 7"); - is (convertDuration ("10d"), 10, "duration 10d = 10"); - is (convertDuration ("100d"), 100, "duration 100d = 100"); + std::string d; + d = "daily"; is (convertDuration (d), 1, "duration daily = 1"); + d = "day"; is (convertDuration (d), 1, "duration day = 1"); + d = "0d"; is (convertDuration (d), 0, "duration 0d = 0"); + d = "1d"; is (convertDuration (d), 1, "duration 1d = 1"); + d = "7d"; is (convertDuration (d), 7, "duration 7d = 7"); + d = "10d"; is (convertDuration (d), 10, "duration 10d = 10"); + d = "100d"; is (convertDuration (d), 100, "duration 100d = 100"); - is (convertDuration ("weekly"), 7, "duration weekly = 7"); - is (convertDuration ("sennight"), 7, "duration sennight = 7"); - is (convertDuration ("biweekly"), 14, "duration biweekly = 14"); - is (convertDuration ("fortnight"), 14, "duration fortnight = 14"); - is (convertDuration ("week"), 7, "duration week = 7"); - is (convertDuration ("0w"), 0, "duration 0w = 0"); - is (convertDuration ("1w"), 7, "duration 1w = 7"); - is (convertDuration ("7w"), 49, "duration 7w = 49"); - is (convertDuration ("10w"), 70, "duration 10w = 70"); - is (convertDuration ("100w"), 700, "duration 100w = 700"); + d = "weekly"; is (convertDuration (d), 7, "duration weekly = 7"); + d = "sennight"; is (convertDuration (d), 7, "duration sennight = 7"); + d = "biweekly"; is (convertDuration (d), 14, "duration biweekly = 14"); + d = "fortnight"; is (convertDuration (d), 14, "duration fortnight = 14"); + d = "week"; is (convertDuration (d), 7, "duration week = 7"); + d = "0w"; is (convertDuration (d), 0, "duration 0w = 0"); + d = "1w"; is (convertDuration (d), 7, "duration 1w = 7"); + d = "7w"; is (convertDuration (d), 49, "duration 7w = 49"); + d = "10w"; is (convertDuration (d), 70, "duration 10w = 70"); + d = "100w"; is (convertDuration (d), 700, "duration 100w = 700"); return 0; }