- 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().
- Applied patch from Johannes.
- Also included extra calls to getCharLength in other parts of the code.
Signed-off-by: Paul Beckingham <paul@beckingham.net>
- Patch to correct the sorting of priorities, which had a condition
flipped making the Table::descendingPriority consider a missing
priority to be 'higher' than 'H'.
- Fixed bug #449, so the wait: attribute can be applied to a task at any
time, not just on add.
- While searching for problems with the waiting status, noticed that
importCSV doesn't appear to set any tasks to pending status.
- Fixed bug #445, which caused task to not notice that the command 'h' is
ambiguous. This was caused by mistakenly first autoCompleting against
a set of alias names, during canonicalization, instead of autoCompleting
against the whole set of possible commands and aliases, then doing the
canonicalization. The order was reversed.
- Also populated list of all commands with alias names, so the above
could be corrected.
- Now dates (due, wait, limit) are parsed first as Durations, and on
error reparsed as Date. When a Duration is found instead of a Date,
the Duration is added to the current date/time.
- Reorganized Duration::valid and Duration::parse to use the same list
of supported constructs.
- Added missing copy constructor.
- Added missing ctor initializer list.
- Corrected handling of negative time_t values.
- Added support for more duration formats.
- Corrected autoComplete use.
- Added Duration::negative.
- Corrected unit test descriptions.
- Fixed bug #438, correcting the sorting of the entry_time, start_time
and end_time columns (thanks to Michelle Crane).
- Reordered ChangeLog so that bugs, features are in sequence. Don't know
why I did this. Some inner compulsion.
- Deprecated silly start_time, end_time and entry_time columns, which are
now (and were) superseded by start, end and entry columns with time formats.
- Config.cpp now detects use of these deprecated fields and complains to the
show command.
- Date.cpp now uses the variable 'input' instead of 'mdy', which was confusing
and implied that it contained a date without a time.
- Obsoleted and removed Date::toStringWithTime, which ignored requested formats.
- When checking for an epoch, Date::isEpoch just looked for strings of more
than 8 digits. The additional restriction of less than or equal to 10 digits
was added. This was breaking unit tests using the dateformat YMDHNS, which is
reasonable.
- Removed the obsolete field format hooks format-entry_time, format-start_time
and format-end_time
- Removed the obsolete field format hook unit tests hook.format-entry_time.t,
hook.format-start_time.t and hook.format-end_time.t.
- Removed use of deprecated field in hook.format-countdown_compact.t.
- Added missing shortcut comparisons in Table::sort that was causing an
unnecessary full parse of dates even if they were identical as strings.
- Coded entry_time as a synonym for entry. Ditto for start_time and end_time.
- Marked the new synonyms as deprecated.
- Added bug.438.t unit test.
- Added deprecated fields to the NEWS file.