Match only at word boundaries

Optimisation by saving a function per loop iteration

readdate: Print any text unused by the time calculation

Return the position of the start and end of the matched text

Add tests including years

Restore 'on day_name' match

(0) -10 -6 +6 +10 tip

mercurial