emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Bug: Recurring items NEVER show up in timeline unaccompanied


From: Mark S
Subject: Re: [O] Bug: Recurring items NEVER show up in timeline unaccompanied
Date: Wed, 23 Mar 2011 10:02:41 -0800
User-agent: Opera Mail/11.01 (Win32)

Hi Nick,

Lisp tends to bring out my inner dyslexic, but is it possible to use a "while" or other construct instead of "mapcar" and then make the "if" construction inside of the lambda check for the :omitted symbol and return it as nil? And it would need to break out of the loop as soon as it encountered a date equal or greater to the present.

Philosophically, the way I think the calendar should work for recurring events is that they only occur until the last event in the calendar UNLESS an argument has been given to specify how far out the calendar is to be drawn OR there is a global end-date / end-range variable.

Mark


--- On Tue, 3/22/11, Nick Dokos <address@hidden> wrote:

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]