- Replaced old Tree-based parser with a faster, leaner parser.
Currently lacking good error handling and a large test suite.
- Integrated new parser into Task object, for encode/decode.
- Replicated same basic unit tests. Needs more.
- Fixed bug in handleShell that failed to call the new Context::initialize2.
- Removed debugging code from CmdInstall.
- Implemented format() that does not require width and precision args.
- Implemented the ability to iterate over installed Command objects,
to augment the '_commands' command.
- Renamed verbosity tokens, to de-pluralize them.
- Fixed bug #480, which didn't properly support @ characters in tags.
The problem was that the ctype.h ispunct() function considers @,
# and $ to be punctuation, which I don't. An override now allows
these characters in tags, and specificallt '+@context' style tags.
- Added unit tests.
- Fixed bug in extractLine that performed std::string::length when it
should have use the new characters function. The problem was incorrect
hyphenation with utf8 text in narrow fields.
- Relocated the Table::getCharLength() from Johannes to text.cpp/characters()
because it is a general-purpose function, and will be the start of the UTF8
conversion of all text.cpp code.
- Added unit tests for characters().
- Added 'depends' as a valid report column.
- Added 'depends' to the 'long' report.
- Updated hook.format*t unit tests to accommodate new long report.
- Added new join () function that handles std::vector<int>.
- Updated text.t unit tests.
- Fixed bug #414, that caused filtering on the presence or absence of tags
containing Unicode characters to fail (thanks to Michal Josífko).
+ + Fixed bug #414, that caused filtering on the presence or absence of tags
+ containing Unicode characters to fail (thanks to Michal Josífko).
------ old releases ------------------------------
- Added include of auto.h to allow #ifdef SOLARIS to work.
- Put #ifdef around glob arguments that aren't supported on Solaris.
- Fixed uninitialized variable that only gcc on Solaris spotted.
- Implemented replacement Config::get* methods.
- Replaced all calls throughout the code, with the new methods which
have no static values as defaults.
- Added new attribute modifiers 'word' and 'noword' which find the existence
of whole words, or prove the non-existence of whole words. If a task has
the description "Pay the bill", then "description.word:the" will match, but
"description.word:th" will not. For partial word matches, there is still
"description.contains:th".
- Added unit tests for the text.cpp functions.
- Added unit tests including the new modifiers in filters.
- Added unit tests to parse the new modifiers.
- Modified man page.
- Modified the Context::autoFilter processing to use the new modifiers for
+tag and -tag filtering.
- Added a support email to an error message, while looking at the filter code.
- Added new modifiers to the help report.
- Modified a utf8.t unit test to include an alphanumeric tag, rather than a
smiley face.
- Fixed bug #322 which failed to propagate rc overrides to shell commands.
- Context now properly records overrides to file and variables.
- The text.cpp:split (...) functions can now skip trivial split results.
- Added text.cpp/ucFirst function to capitalize words, so that "pending"
can now appear as "Pending" on the info report. This helps task pass
many more test cases.
- Implemented digitsOnly primitive.
- Implemented noSpaces primitive.
- Added unit tests for above.
- Att now manages the lists of valid attributes and modifier names.
- validName migrated to Att.
- validModifiableName migrated to Att.
- New Att::validNameValue.
- Removed obsolete validDescription.
- Removed obsolete validPriority.
- Removed obsolete valid.cpp/guess.
- Implemented text.cpp/noVerticalSpace.
- Added unit tests for text.cpp/noVerticalSpace.
- Removed final static lists from valid.cpp.
- New Cmd object to handle localized commands, customReports and general
command parsing.
- Localized new Subst methods.
- Relocate guess method from parse.cpp to text.cpp.
- Converted Att object to use new valid/parse scheme.
- Unit tests for Cmd object.
- Fixed att.t.cpp unit tests.
- Fixed bug in split functions, which was causing empty strings to be
split into a single element list consisting of one empty string.
The symptom was that all tasks without tags appeared to have one
zero-length tag and the task was colored according to color.tagged.