emacs-orgmode
[Top][All Lists]
Advanced

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

[Orgmode] need help with org-mac-iCal and long-standing recurring events


From: Doug Hellmann
Subject: [Orgmode] need help with org-mac-iCal and long-standing recurring events
Date: Sat, 7 Nov 2009 12:58:27 -0500

I've submitted a couple of patches to org-mac-iCal recently, but this latest problem is beyond my lisp skills to fix.

org-mac-iCal imports entries from iCal into the diary so they can be displayed in org-mode's agenda views. It limits the imported entries based on a date range managed org-mac-iCal-range so that the diary is not full of old items, slowing down processing.

The date range filtering does not take recurring events into account, though. If the date range is set to eliminate items older than 1 month and a recurring item started 2 months ago, it is ignored. This is true even if the event has no end-date set and it would recur within the desired date range.

The function in question is omi-import-ics in contrib/lisp/org-mac- iCal.el. I *think* the section I need to modify starts on line 168:

        (when (or
               (and
                (= yearEntry year)
(or (< monthEntry (- month (/ org-mac-iCal-range 2))) (> monthEntry (+ month (/ org-mac-iCal-range 2)))))
               (< yearEntry (- year 1))
               (> yearEntry (+ year 1))
               (and
                (= yearEntry (- year 1)) (/= monthEntry 12))
               (and
                (= yearEntry (+ year 1)) (/= monthEntry 1)))
          (delete-region startEntry endEntry))))

As a first attempt, I tried changing the filtering so that events with an RRULE property set (indicating a recurrence rule) are always imported into the diary, but somehow managed to introduce an infinite loop to the filter.

So I'm looking for someone with better lisp skills who can advise me about trying to fix the problem I describe above. Any takers?

Thanks,
Doug





reply via email to

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