During construction of a feedback string for a dependency change,
a list of IDs of the dependencies was used. However, if the tasks
being referred to are already deleted / completed, their respective
IDs are all 0s.
Use shortened UUIDs in such case.
- Thanks to Roman Golovin.
- Calls like 'context.columns[name]' autovivify the key 'name' with a default
ctor value, which ends up polluting the context.columns map with every unique
attribute name, which is a lot of 'annotation_nnnnnnnnnn' attributes.
- Make the Task object's interface more explicit by removing the
std::map inheritance.
- Using this more explicit interface, remove unneeded ctors in order to
allow the compiler to "Do The Right Thing"(tm).
This leads to a performance improvement of 12% in the "add"
performance test, and 7% for "import".
- Changed signature of recur functions, which needed a main.h change, which led
to removing '#include <Date.h>' from main.h, which necessitated adding the
sam include to various other source files. Temporarily.
- Added 'ISO8601d ISO8601d::operator+ (time_t)', because of differences from the
original Date object.
- The info report shows modifications already. "modified" attribute
updates are implied by other attributes being changed, so there
is no need to clutter the report with them.
- Many files were missing an explicit cmake.h include. Some were not including
it at all. Now it's used almost everywhere.
(cherry picked from commit 82ae86979c497e6d1d0c6b2b5a55aa379ec82c98)
- Style: cuddled braces
- Style: one declaration per line
- Omission: ChangeLog not updated
- Omission: AUTHORS not updated
- Omission: en-US.h change not propagated to es-ES.h
- Feature #934, supports 'reserved.lines' to indicate a multi-line prompt for
use in conjunction with 'limit:page' (thanks to Robert Gill).
- Removed 'locale' from the taskrc.5 man page.
- Added verbosity token 'sync'.
- Fixed bug in size calculation for 'limit:page', but there is still one more.
- Corrected unit test limit.t given the above fix.
- Consistent scheme for printing project change information: always
shows the progress estimation and add a notification that the project
has changed if the number of tasks is changed.
- Complete the previous fix: dates in the journal entries are also formatted
according to the correct configuration variable.
- Add unit tests.
Signed-off-by: Paul Beckingham <paul@beckingham.net>
- The verbosity token 'special' now controls whether the feedback is provided
when special tags are added to a task.
- Added new 'special' verbosity token documentation to man page.
- Added missing 'next' special tag to man page.
- Added new localized strings for describing special tags.