I've finally decided to solely work in emacs, including my caldav-calendars, which I keep synchronized via my personal Nextcloud. I'm new to org-mode and trying to set things up.

So far I've managed to share the calendar and synchronization is working, as long as I don't include tags in my notes. I'd like to keep everything organized in a single file calendar.org and distribute all events to multiple calendars online based on tags.

Suppose I have two events in an otherwise empty calendar. I can synchronize these successfully, which I can confirm on the log and in the Nexcloud web-ui.

As soon as I include a tag in one of these events, the synchronization freezes and when I abort with C-g, the *org-caldav-debug* shows

========== Started sync.
Syncing first calendar entry:
(:calendar-id "personal" :inbox "~/.emacs.d/org-caldav-calendars/personal.org" :files ("~/calendar.org") :exclude-tags ("work"))
Check connection for https://my.nextcloud.com/remote.php/dav/calendars/user/personal/.
Generating ICS file /tmp/org-caldav-17359gqd.

As soon as I delete the tags from the file, synchronization works flawlessly again. The same behavior is shown when I add notes without timestamps, which are not synchronized at all to the calendar. Still synchronization freezes when tags are added.

I assume I have misconfigured something, so tags are not well processed in emacs. How can I use the tags to keep my calendars in sync?

Below is what I've added to my .emacs.

(use-package org-caldav
(setq org-caldav-url "https://my.nextcloud.com/remote.php/dav/calendars/user")
(setq org-caldav-save-directory "~/.emacs.d/org-caldav-calendars")
(setq org-caldav-calendars
  '((:calendar-id "personal"
     :inbox "~/.emacs.d/org-caldav-calendars/personal.org"
     :files ("~/calendar.org")
     :exclude-tags ("work"))
    (:calendar-id "work"
     :inbox "~/.emacs.d/org-caldav-calendars/work.org"
     :files ("~/calendar.org")
     :select-tags ("work")) ))
(setq org-icalendar-alarm-time 1)
(setq org-icalendar-include-todo t)
(setq org-icalendar-timezone "Europe/Berlin")
(setq org-icalendar-use-deadline '(event-if-todo event-if-not-todo todo-due))
(setq org-icalendar-use-scheduled '(todo-start event-if-todo event-if-not-todo))

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.