Hi,

the iCalendar export seems wrong when the .org file contains events with diary-float.

For example, my .org file contains:
* my appointment
%%(diary-float t 6 1) 1st Sat/month

The agenda M-x org-agenda-list shows this event correctly at the first Saturday per month. The .ics file created with M-x org-export-dispatch, c (Export to iCalendar), f (Current file) contains the event

BEGIN:VEVENT
UID:DS1-ddf9e720-3c8a-4b2a-93d8-62dde9cdf5a8
DTSTART;VALUE=DATE:20250418
EXDATE;VALUE=DATE:20250418
RRULE:FREQ=MONTHLY;BYDAY=1SA
SUMMARY:1st Sat/month
END:VEVENT

DSTART and EXDATE are set to the current date. (i.e. the date when the .ics file is created). I think DSTART should be set to the next first Saturday of the month. EXDATE is not required, as there are no exceptions specified.

RFC 5545 says in 3.8.5.3. Recurrence Rule
"The "DTSTART" property value SHOULD be synchronized with the recurrence rule, if specified. The recurrence set generated with a "DTSTART" property value not synchronized with the recurrence rule is undefined."

Thanks
Timo

------------------------------------------------------------------------



Emacs : GNU Emacs 30.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.38, cairo version 1.16.0)
 of 2025-04-04, modified by Debian
Package: Org mode version 9.7.11 (release_9.7.11 @ /usr/share/emacs/30.1/lisp/org/)

current state:
==============
(setq
 org-yank-image-file-name-function 'org-yank-image-autogen-filename
 org-persist-before-write-hook '(org-element--cache-persist-before-write)
org-speed-command-hook '(org-speed-command-activate org-babel-speed-command-activate)
 org-persist-after-read-hook '(org-element--cache-persist-after-read)
 org-confirm-elisp-link-function 'yes-or-no-p
 org-mode-hook '(#[0 "\300\301\302\303\304$\207"
                   [add-hook change-major-mode-hook org-fold-show-all append 
local] 5]
                 #[0 "\300\301\302\303\304$\207"
[add-hook change-major-mode-hook org-babel-show-result-all append local] 5]
                 org-babel-result-hide-spec org-babel-hide-all-hashes)
 org-confirm-shell-link-function 'yes-or-no-p
 org-archive-hook '(org-attach-archive-delete-maybe)
 org-metaup-hook '(org-babel-load-in-session-maybe)
 org-occur-hook '(org-first-headline-recenter)
 org-bibtex-headline-format-function 'org-bibtex-headline-format-default
org-link-parameters '(("attachment" :follow org-attach-follow :complete org-attach-complete-link)
                       ("id" :follow org-id-open :store org-id-store-link-maybe)
                       ("eww" :follow org-eww-open :store org-eww-store-link)
                       ("rmail" :follow org-rmail-open :store 
org-rmail-store-link)
                       ("mhe" :follow org-mhe-open :store org-mhe-store-link)
("irc" :follow org-irc-visit :store org-irc-store-link :export org-irc-export) ("info" :follow org-info-open :export org-info-export :store org-info-store-link
                        :insert-description org-info-description-as-command)
                       ("gnus" :follow org-gnus-open :store org-gnus-store-link)
("docview" :follow org-docview-open :export org-docview-export :store
                        org-docview-store-link)
                       ("bibtex" :follow org-bibtex-open :store 
org-bibtex-store-link)
("bbdb" :follow org-bbdb-open :export org-bbdb-export :complete org-bbdb-complete-link
                        :store org-bbdb-store-link)
                       ("w3m" :store org-w3m-store-link)
("doi" :follow org-link-doi-open :export org-link-doi-export) ("file+sys")
                       ("file+emacs") ("shell" :follow org-link--open-shell)
                       ("news" :follow
#[514 "\301\300\302Q\"\207" ["news" browse-url ":"] 6 "\n\n(fn URL ARG)"])
                       ("mailto" :follow
#[514 "\301\300\302Q\"\207" ["mailto" browse-url ":"] 6 "\n\n(fn URL ARG)"])
                       ("https" :follow
#[514 "\301\300\302Q\"\207" ["https" browse-url ":"] 6 "\n\n(fn URL ARG)"])
                       ("http" :follow
#[514 "\301\300\302Q\"\207" ["http" browse-url ":"] 6 "\n\n(fn URL ARG)"])
                       ("ftp" :follow
#[514 "\301\300\302Q\"\207" ["ftp" browse-url ":"] 6 "\n\n(fn URL ARG)"])
                       ("help" :follow org-link--open-help :store 
org-link--store-help)
("file" :complete org-link-complete-file) ("elisp" :follow org-link--open-elisp)) org-cycle-tab-first-hook '(org-babel-hide-result-toggle-maybe org-babel-header-arg-expand)
 org-agenda-before-write-hook '(org-agenda-add-entry-text)
 org-metadown-hook '(org-babel-pop-to-session-maybe)
org-tab-first-hook '(org-babel-hide-result-toggle-maybe org-babel-header-arg-expand)
 org-sort-function 'string-collate-lessp
 org--warnings nil
 org-babel-pre-tangle-hook '(save-buffer)
 org-export-before-parsing-hook '(org-attach-expand-links)
 org-link-shell-confirm-function 'yes-or-no-p
 org-fold-core-isearch-open-function 'org-fold--isearch-reveal
 outline-isearch-open-invisible-function 'outline-isearch-open-invisible
org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buffer)
 org-agenda-span 'year
 org-agenda-loop-over-headlines-in-active-region nil
 org-agenda-files '("~/test.org")
 org-link-elisp-confirm-function 'yes-or-no-p
org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-show-empty-lines org-cycle-optimize-window-after-visibility-change org-cycle-display-inline-images)
 org-persist-before-read-hook '(org-element--cache-persist-before-read)
 )


Reply via email to