This should be fixed already, though I didn't try the patch:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=78085
On 14.06.25 20:27, Ihor Radchenko wrote:
Ihor Radchenko <yanta...@posteo.net> writes:
%%(diary-float t 6 1) 1st Sat/month
...
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.
Note that Org mode simply uses icalendar functionality to export diary sexps.
Specifically, `icalendar--convert-float-to-ical' is responsible for what
you are seeing and the logic appears to be deliberate.
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."
Jack, may you look into this?
We should probably report to Emacs, but I strongly suspect that we might
have better knowledge of iCalendar format at this point. So, maybe we
need to consider patching `icalender--convert-float-to-ical' ourselves
and sending that patch upstream.