- Removed two unit tests for data file syntax that is no longer
supported, namely unquoted values.
Supported: status:"pending"
Not supported: status:pending
- TDB2::load_lines was splitting the text on \n, but because the last
line contains \n, there was an additional blank line. This is what
split_minimal is for.
- split_minimal contained a copy/paste bug that added the extra line
if the input was non-trivial, instead of if the remainder was non-
trivial.
- Fixed incorrect unit test accordingly.
- When parsing duration literals, look-ahead now prevents an ordinal
such as '31st' (August 31st) from being interpreted as two tokens
'31s' (duration) and 't' (word). This is the same fix that was
applied to A3::is_number. I'll be there are more that I missed.
- Quoting problem. To prevent the shell from stripping quotes, the
command line must include \" ... \", but in a Perl string, that
needs to be \\" ... \\". Silly mistake.
- Annotation timestamps are now incremented until unique. This prevents
rapid, successive annotations colliding. The kind that occur during
unit tests and when using UI wrapper programs.
- Removed 'sleep' commands in unit tests that were added to circumvent
this. This speeds up the test suite somewhat.
- When HAVE_SRANDOM is undefined in 1.9.4, the timeval struct can be omitted
causing a compile error. Patch received, but not applied to 2.0.0 branch
because that code has been rewritten already (thanks to Paolo Almeida).
- Task is no longer a map of string to Att. Att is itself a name/
value pair, so the name was redundant. Task is now a map of string
to string. This brings the obsoletion of Att much closer.
- Implemented the import command, which only suports JSON. It is
the basis for all other import formats, which will be implemented
as external scripts.
- Corrected all unit tests that used the old syntax "task done 1" to
use the new syntax "task 1 done". Similarly, "task 1 ..." is now
"task 1 modify ...".
- Fixed bug whereby arguments were categorized, then defaults were injected
but no subsequent categorization occurred.
- Added debug diagnostics for default.command, 'modify' and 'information'
default processing.
- Fixed DOM lookup of special-case attributes: id and urgency are
not stored in the usual manner, and must be handled differently.
- Removed the responsibility of DOM to evaluate literals, because
they are handled more effectively in A3::tokenize.
- Fixed old code that assumed ".id" instead of "id".
- Removed unnecessary diag call from annotate.t.