diff --git a/ChangeLog b/ChangeLog index e171fe8e9..976d37555 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7,6 +7,9 @@ ------ old releases ------------------------------ +1.8.3 (10/21/2009) bcdcbeeea0d92f21c3565aebfaf6332b959f4025 + + Added support for Haiku R1/alpha1 + 1.8.2 (9/7/2009) f243f0ed443ecd7dde779de8a6525222591024db + Added feature #282 that returns useful exit codes to the shell. Now a script can detect whether no tasks were returned by a report (thanks to diff --git a/NEWS b/NEWS index 02f401fb1..6a358f0b1 100644 --- a/NEWS +++ b/NEWS @@ -26,6 +26,7 @@ Task has been built and tested on the following configurations: - OpenBSD 4.5 - FreeBSD - Cygwin 1.5 + - Haiku R1/alpha1 While Task has undergone testing, bugs are sure to remain. If you encounter a bug, please enter a new issue at: diff --git a/package-config/osx/task.pmdoc/01task-contents.xml b/package-config/osx/task.pmdoc/01task-contents.xml index 7b4f85219..a317238f4 100644 --- a/package-config/osx/task.pmdoc/01task-contents.xml +++ b/package-config/osx/task.pmdoc/01task-contents.xml @@ -1 +1 @@ - \ No newline at end of file +groupowner \ No newline at end of file diff --git a/package-config/osx/task.pmdoc/01task.xml b/package-config/osx/task.pmdoc/01task.xml index 27576e7f1..f3c7d27b1 100644 --- a/package-config/osx/task.pmdoc/01task.xml +++ b/package-config/osx/task.pmdoc/01task.xml @@ -1 +1 @@ -com.beckingham.task180.task.pkg1.8.0/Users/paul/task.git/package-config/osx/binary/task/usr/local/binparentlocationTyperelocatableversioninstallTo.pathinstallTo01task-contents.xml/CVS$/\.svn$/\.cvsignore$/\.cvspass$/\.DS_Store$ \ No newline at end of file +com.beckingham.task182.task.pkg1.8.2/Users/paul/task.git/package-config/osx/binary/task/usr/local/bininstallTolocationTyperelocatableidentifierparentversioninstallTo.path01task-contents.xml/CVS$/\.svn$/\.cvsignore$/\.cvspass$/\.DS_Store$ \ No newline at end of file diff --git a/package-config/osx/task.pmdoc/index.xml b/package-config/osx/task.pmdoc/index.xml index 35f24a7fa..1a4dbfbf2 100644 --- a/package-config/osx/task.pmdoc/index.xml +++ b/package-config/osx/task.pmdoc/index.xml @@ -1 +1 @@ -Task 1.8.0/Users/paul/Desktop/task-1.8.0.pkgcom.beckingham/Users/paul/task.git/package-config/osx/binary/COPYING.txt/Users/paul/task.git/package-config/osx/binary/README.txt01task.xmlproperties.titleproperties.anywhereDomainproperties.systemDomain \ No newline at end of file +Task 1.8.2/Users/paul/Desktop/task-1.8.2.pkgcom.beckingham/Users/paul/task.git/package-config/osx/binary/COPYING.txt/Users/paul/task.git/package-config/osx/binary/README.txt01task.xmlproperties.titleproperties.customizeOptionproperties.anywhereDomainproperties.systemDomain \ No newline at end of file diff --git a/src/Context.cpp b/src/Context.cpp index 0af808204..bae490707 100644 --- a/src/Context.cpp +++ b/src/Context.cpp @@ -30,6 +30,7 @@ #include #include #include +#include #include "Context.h" #include "Timer.h" #include "text.h" diff --git a/src/Date.cpp b/src/Date.cpp index 1d7692ced..55abd8421 100644 --- a/src/Date.cpp +++ b/src/Date.cpp @@ -29,6 +29,7 @@ #include #include #include +#include #include "Date.h" #include "text.h" #include "util.h" @@ -82,14 +83,14 @@ Date::Date (const std::string& mdy, const std::string& format /* = "m/d/Y" */) // Single or double digit. case 'm': if (i >= mdy.length () || - ! ::isdigit (mdy[i])) + ! isdigit (mdy[i])) { throw std::string ("\"") + mdy + "\" is not a valid date."; } if (i + 1 < mdy.length () && (mdy[i + 0] == '0' || mdy[i + 0] == '1') && - ::isdigit (mdy[i + 1])) + isdigit (mdy[i + 1])) { month = ::atoi (mdy.substr (i, 2).c_str ()); i += 2; @@ -103,14 +104,14 @@ Date::Date (const std::string& mdy, const std::string& format /* = "m/d/Y" */) case 'd': if (i >= mdy.length () || - ! ::isdigit (mdy[i])) + ! isdigit (mdy[i])) { throw std::string ("\"") + mdy + "\" is not a valid date."; } 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])) + isdigit (mdy[i + 1])) { day = ::atoi (mdy.substr (i, 2).c_str ()); i += 2; @@ -125,8 +126,8 @@ Date::Date (const std::string& mdy, const std::string& format /* = "m/d/Y" */) // Double digit. case 'y': if (i + 1 >= mdy.length () || - ! ::isdigit (mdy[i + 0]) || - ! ::isdigit (mdy[i + 1])) + ! isdigit (mdy[i + 0]) || + ! isdigit (mdy[i + 1])) { throw std::string ("\"") + mdy + "\" is not a valid date."; } @@ -137,8 +138,8 @@ Date::Date (const std::string& mdy, const std::string& format /* = "m/d/Y" */) case 'M': if (i + 1 >= mdy.length () || - ! ::isdigit (mdy[i + 0]) || - ! ::isdigit (mdy[i + 1])) + ! isdigit (mdy[i + 0]) || + ! isdigit (mdy[i + 1])) { throw std::string ("\"") + mdy + "\" is not a valid date."; } @@ -149,8 +150,8 @@ Date::Date (const std::string& mdy, const std::string& format /* = "m/d/Y" */) case 'D': if (i + 1 >= mdy.length () || - ! ::isdigit (mdy[i + 0]) || - ! ::isdigit (mdy[i + 1])) + ! isdigit (mdy[i + 0]) || + ! isdigit (mdy[i + 1])) { throw std::string ("\"") + mdy + "\" is not a valid date."; } @@ -162,10 +163,10 @@ Date::Date (const std::string& mdy, const std::string& format /* = "m/d/Y" */) // Quadruple digit. case 'Y': if (i + 3 >= mdy.length () || - ! ::isdigit (mdy[i + 0]) || - ! ::isdigit (mdy[i + 1]) || - ! ::isdigit (mdy[i + 2]) || - ! ::isdigit (mdy[i + 3])) + ! isdigit (mdy[i + 0]) || + ! isdigit (mdy[i + 1]) || + ! isdigit (mdy[i + 2]) || + ! isdigit (mdy[i + 3])) { throw std::string ("\"") + mdy + "\" is not a valid date."; } diff --git a/src/Nibbler.cpp b/src/Nibbler.cpp index 8941fb3c7..dce165412 100644 --- a/src/Nibbler.cpp +++ b/src/Nibbler.cpp @@ -243,7 +243,7 @@ bool Nibbler::getInt (int& result) ++i; } - while (i < mInput.length () && ::isdigit (mInput[i])) + while (i < mInput.length () && isdigit (mInput[i])) ++i; if (i > mCursor) @@ -260,7 +260,7 @@ bool Nibbler::getInt (int& result) bool Nibbler::getUnsignedInt (int& result) { std::string::size_type i = mCursor; - while (i < mInput.length () && ::isdigit (mInput[i])) + while (i < mInput.length () && isdigit (mInput[i])) ++i; if (i > mCursor) diff --git a/src/Sequence.cpp b/src/Sequence.cpp index 44fc3f2ce..85702398b 100644 --- a/src/Sequence.cpp +++ b/src/Sequence.cpp @@ -153,7 +153,7 @@ bool Sequence::validId (const std::string& input) const return false; for (size_t i = 0; i < input.length (); ++i) - if (!::isdigit (input[i])) + if (!isdigit (input[i])) return false; return true; diff --git a/src/Table.cpp b/src/Table.cpp index ff7c931e2..3f6dc331f 100644 --- a/src/Table.cpp +++ b/src/Table.cpp @@ -771,7 +771,7 @@ void Table::sort (std::vector & order) if (gap > 1) { gap = (int) ((float)gap / 1.3); - if (gap == 10 or gap == 9) + if (gap == 10 || gap == 9) gap = 11; } diff --git a/src/Timer.cpp b/src/Timer.cpp index 5d25dd4f4..cc9a76abe 100644 --- a/src/Timer.cpp +++ b/src/Timer.cpp @@ -52,7 +52,7 @@ Timer::~Timer () << mDescription << " " << std::setprecision (6) - << std::fixed +// << std::fixed << ((end.tv_sec - mStart.tv_sec) + ((end.tv_usec - mStart.tv_usec ) / 1000000.0)) << " sec"; diff --git a/src/import.cpp b/src/import.cpp index 939e04710..2ad65c948 100644 --- a/src/import.cpp +++ b/src/import.cpp @@ -106,16 +106,16 @@ static fileType determineFileType (const std::vector & lines) { if ( lines[i][0] == 'x' && lines[i][1] == ' ' && - ::isdigit (lines[i][2]) && - ::isdigit (lines[i][3]) && - ::isdigit (lines[i][4]) && - ::isdigit (lines[i][5]) && + isdigit (lines[i][2]) && + isdigit (lines[i][3]) && + isdigit (lines[i][4]) && + isdigit (lines[i][5]) && lines[i][6] == '-' && - ::isdigit (lines[i][7]) && - ::isdigit (lines[i][8]) && + isdigit (lines[i][7]) && + isdigit (lines[i][8]) && lines[i][9] == '-' && - ::isdigit (lines[i][10]) && - ::isdigit (lines[i][11])) + isdigit (lines[i][10]) && + isdigit (lines[i][11])) return todo_sh_2_0; } @@ -126,13 +126,13 @@ static fileType determineFileType (const std::vector & lines) // +project if (words[w].length () > 1 && words[w][0] == '+' && - ::isalnum (words[w][1])) + isalnum (words[w][1])) return todo_sh_2_0; // @context if (words[w].length () > 1 && words[w][0] == '@' && - ::isalnum (words[w][1])) + isalnum (words[w][1])) return todo_sh_2_0; } } diff --git a/src/report.cpp b/src/report.cpp index c32b6e046..83f7bd07b 100644 --- a/src/report.cpp +++ b/src/report.cpp @@ -1403,9 +1403,9 @@ std::string renderMonths ( row = 0; // Loop through days in month and add to table. - for (int d = 1; d <= daysInMonth.at (mpl); ++d) + for (int d = 1; d <= daysInMonth[mpl]; ++d) { - Date temp (months.at (mpl), d, years.at (mpl)); + Date temp (months[mpl], d, years[mpl]); int dow = temp.dayOfWeek (); int woy = temp.weekOfYear (weekStart); @@ -1423,7 +1423,7 @@ std::string renderMonths ( table.addCell (row, thisCol, d); if ((context.config.get ("color", true) || context.config.get (std::string ("_forcecolor"), false)) && - today.day () == d && + today.day () == d && today.month () == months.at (mpl) && today.year () == years.at (mpl)) table.setCellColor (row, thisCol, Color (Color::cyan)); @@ -1437,8 +1437,8 @@ std::string renderMonths ( if ((context.config.get ("color", true) || context.config.get (std::string ("_forcecolor"), false)) && due.day () == d && - due.month () == months.at (mpl) && - due.year () == years.at (mpl)) + due.month () == months[mpl] && + due.year () == years[mpl]) { Color c (Color::black, (due < today ? Color::red : Color::yellow)); table.setCellColor (row, thisCol, c); @@ -1450,7 +1450,7 @@ std::string renderMonths ( int eow = 6; if (weekStart == 1) eow = 0; - if (dow == eow && d < daysInMonth.at (mpl)) + if (dow == eow && d < daysInMonth[mpl]) row++; } } diff --git a/src/tests/run_all b/src/tests/run_all index da58a1de8..4d471513b 100755 --- a/src/tests/run_all +++ b/src/tests/run_all @@ -1,4 +1,4 @@ -#! /bin/bash +#! /bin/sh date > all.log @@ -14,7 +14,7 @@ END=`tail -1 all.log` OS=`uname` case $OS in - Darwin) + Darwin | FreeBSD) STARTEPOCH=`date -j -f "%a %b %d %T %Z %Y" "${START}" "+%s"` ENDEPOCH=`date -j -f "%a %b %d %T %Z %Y" "${END}" "+%s"` ;; diff --git a/src/text.cpp b/src/text.cpp index 0e511b551..d980b7c34 100644 --- a/src/text.cpp +++ b/src/text.cpp @@ -209,7 +209,7 @@ std::string commify (const std::string& data) int i; for (int i = 0; i < (int) data.length (); ++i) { - if (::isdigit (data[i])) + if (isdigit (data[i])) end = i; if (data[i] == '.') @@ -227,11 +227,11 @@ std::string commify (const std::string& data) int consecutiveDigits = 0; for (; i >= 0; --i) { - if (::isdigit (data[i])) + if (isdigit (data[i])) { result += data[i]; - if (++consecutiveDigits == 3 && i && ::isdigit (data[i - 1])) + if (++consecutiveDigits == 3 && i && isdigit (data[i - 1])) { result += ','; consecutiveDigits = 0; @@ -251,11 +251,11 @@ std::string commify (const std::string& data) int consecutiveDigits = 0; for (; i >= 0; --i) { - if (::isdigit (data[i])) + if (isdigit (data[i])) { result += data[i]; - if (++consecutiveDigits == 3 && i && ::isdigit (data[i - 1])) + if (++consecutiveDigits == 3 && i && isdigit (data[i - 1])) { result += ','; consecutiveDigits = 0; @@ -279,8 +279,8 @@ std::string lowerCase (const std::string& input) { std::string output = input; for (int i = 0; i < (int) input.length (); ++i) - if (::isupper (input[i])) - output[i] = ::tolower (input[i]); + if (isupper (input[i])) + output[i] = tolower (input[i]); return output; } @@ -290,8 +290,8 @@ std::string upperCase (const std::string& input) { std::string output = input; for (int i = 0; i < (int) input.length (); ++i) - if (::islower (input[i])) - output[i] = ::toupper (input[i]); + if (islower (input[i])) + output[i] = toupper (input[i]); return output; } @@ -302,7 +302,7 @@ std::string ucFirst (const std::string& input) std::string output = input; if (output.length () > 0) - output[0] = ::toupper (output[0]); + output[0] = toupper (output[0]); return output; } @@ -352,7 +352,7 @@ void guess ( bool digitsOnly (const std::string& input) { for (size_t i = 0; i < input.length (); ++i) - if (!::isdigit (input[i])) + if (!isdigit (input[i])) return false; return true; @@ -362,7 +362,7 @@ bool digitsOnly (const std::string& input) bool noSpaces (const std::string& input) { for (size_t i = 0; i < input.length (); ++i) - if (::isspace (input[i])) + if (isspace (input[i])) return false; return true; diff --git a/src/util.cpp b/src/util.cpp index 76ebd1312..75938a318 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -64,7 +64,7 @@ bool confirm (const std::string& question) << " "; std::getline (std::cin, answer); - answer = lowerCase (trim (answer)); + answer = std::cin.eof() ? "no" : lowerCase (trim (answer)); } while (answer != "y" && // TODO i18n answer != "ye" && // TODO i18n