Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rudimentary support for diary sexp and rrule #216

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

adrianparvino
Copy link

No description provided.

@kmatyukhin
Copy link

In stable Debian distribution emacs 26.1 doesn't load subr-x library by default. Will you please add (require `subr-x). Without it org-caldav-sync fails with Symbol's function definition is void: string-trim error.

@Thaodan
Copy link

Thaodan commented Oct 8, 2022

I noticed when using this the first sync runs fine but when sycing afterards org-asks me if I want to delete the event on the remote-calendar.

@jackkamm
Copy link
Collaborator

jackkamm commented Sep 8, 2024

While I've added support for recurrences in #308, I'm going to leave this PR open as #308 only implements simple repeaters, and not the more complex recurrences which could be supported by sexp timestamps.

That said, this PR doesn't apply cleanly onto recent versions of org-caldav, and also I experienced issues with sexp timestamps in recent versions of ox-icalendar (at least when I tried a few months ago). So this is not going to get merged in its current form in the near future.

But nevertheless this PR addresses an important problem, and is a useful reference, so I'm going to leave the PR open in the hope of eventually making progress on this someday.

@jackkamm
Copy link
Collaborator

Update: I fixed the issue I was having with ox-icalendar export of diary timestamps here:
https://list.orgmode.org/87r09cq92t.fsf@localhost/T/#m776535a92176bb2d25c38c194fc2538ecb118d11

However, I think it will be difficult to get diary timestamps working with bidirectional sync. icalendar--convert-recurring-to-diary and icalendar--convert-to-ical are used to convert between Diary and Org respectively, but are both quite complex and are not faithful inverses of each other.

Maybe the best solution would be to define a new function org-rrule like

(defun org-rrule (freq &optional until count interval ... )
...)

that has the same interface as iCalendar rrule, but returns a diary expression, which could be used in timestamps. Then we could implement faithful 2-way conversion between iCalendar rrule and <%%(org-rrule ...)>. However, I think it would be best to do this upstream in ox-icalendar.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants