From: Nick Dokos <address@hidden>
Subject: Re: [O] Bug: Recurring items NEVER show up in timeline
unaccompanied
To: address@hidden
Cc: address@hidden, address@hidden
Date: Tuesday, March 22, 2011, 1:10 PM
Some more comments and another bug in
org-timeline:
o a repeater always gets reported on its initial date - it
only gets reported
on subsequent instances iff it coincides with some
other entry that will be
reported on that date.
o the initial comment of org-timeline says "Only entries
with a time
stamp of today or later will be listed." However, in
the let*, we have
(let* ((dopast t)
...
so by default we get past dates as well.
o [the additional bug] if dopast is set to nil in the let*,
then we run the
following code to get rid of past dates:
(if (not dopast)
;; Remove past dates from the list of
dates.
(setq day-numbers (delq nil (mapcar
(lambda(x)
(if (>= x today) x nil))
day-numbers))))
But day-numbers isn't just numbers: it's a list of
day numbers
interspersed with gap information:
(733451 (:omitted . 28) 733479 (:omitted
. 5) 733484 (:omitted . 21) 733505 (:omitted . 15) 733520
...)
and the mapcar function chokes when it has to deal
with a gap argument.
Since there is no way to set dopast from the outside,
perhaps the thing
to do is to remove both it and the above code (as well as
one additional
instance of the variable) and declare that org-timeline
will always do
both past and future. Or, given some global option
variable, it can be
set to that value, in which case the code above needs to be
fixed to
deal with the gaps.
Also, some stopping point will need to be provided. Right
now, that is
the last explicit date in the file, but in the presence of
repeaters
(and assuming that org-timeline gets modified to deal with
them), that
natural stopping point gets pushed all the way to infinity,
so some
other way will need to be provided to stop the
enumeration.
Comments?
Nick