SW <[email protected]> wrote:
> SW <sabrewolfy <at> gmail.com> writes:
>
> > This
> >
> > *** New Year's Day
> > <2011-01-01 +1y>
> >
> > does *not* include the timestamp in the agenda, yes.
> >
> > However, timestamps are *not* included in the agenda from other entries
> > which
> > *do* have timestamps in the headline.
> >
> > I've tested with repeating timestamps, timestamps with times, timestamps
> > repeating with last year as the start date, and I cannot replicate this.
> > I'll
> > post if I find anything further.
>
> I've tracked down what causes this behaviour -- it's actually a repeating
> timestamp which is from a year ore more ago (contrary to what I posted above).
>
> This:
>
> ** <2011-04-17 +1y> Test :holiday:
>
> or this:
>
> ** <2010-04-17 +1y> Test :holiday:
>
> appears in the agenda *with* the <> timestamp included. This:
>
> ** <2012-04-17 +1y> Test :holiday:
>
> does *not* appear with the <> timestamp included. The difference is the
> *starting* year.
>
Indeed - I can reproduce that. It happens in org-agenda-get-timestamps,
in the call to org-agenda-format-item: this function takes a regexp
argument, remove-re, and removes any matches from the string it
produces. The regexp is constructed from the *current* date though:
(concat
(regexp-quote
(format-time-string
"<%Y-%m-%d"
(encode-time 0 0 0 (nth 1 date) (nth 0 date) (nth 2 date))))
".*?>")
so it becomes "<2012-04-17.*?>". Hence it removes the date in the third
example above, but not in the other two.
The question is whether this is intended or not: personally, I don't see
any reason for the difference in behavior, so it might be a good idea to
generalize the regexp to match *any* year.
Nick