GNU bug report logs - #78085
30.1; wrong iCalendar export with diary-float

Previous Next

Package: emacs;

Reported by: "Timo E." <tengel <at> mailbox.org>

Date: Sun, 27 Apr 2025 09:32:03 UTC

Severity: normal

Found in version 30.1

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 78085 in the body.
You can then email your comments to 78085 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#78085; Package emacs. (Sun, 27 Apr 2025 09:32:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Timo E." <tengel <at> mailbox.org>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sun, 27 Apr 2025 09:32:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: "Timo E." <tengel <at> mailbox.org>
To: bug-gnu-emacs <at> gnu.org
Subject: 30.1; wrong iCalendar export with diary-float
Date: Sun, 27 Apr 2025 11:05:20 +0200
Hi,

the iCalendar export seems wrong when the .org file contains events 
with diary-float.
I reported this already to emacs-orgmode <at> gnu.org, but it is not an 
issue in Org mode but in 'icalendar--convert-float-to-ical'.

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





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#78085; Package emacs. (Sat, 10 May 2025 09:43:02 GMT) Full text and rfc822 format available.

Message #8 received at 78085 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: "Timo E." <tengel <at> mailbox.org>, Richard Lawrence <rwl <at> recursewithless.net>
Cc: 78085 <at> debbugs.gnu.org
Subject: Re: bug#78085: 30.1; wrong iCalendar export with diary-float
Date: Sat, 10 May 2025 12:42:40 +0300
> Date: Sun, 27 Apr 2025 11:05:20 +0200
> From:  "Timo E." via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
> 
> Hi,
> 
> the iCalendar export seems wrong when the .org file contains events 
> with diary-float.
> I reported this already to emacs-orgmode <at> gnu.org, but it is not an 
> issue in Org mode but in 'icalendar--convert-float-to-ical'.
> 
> 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."

Thank you for your report.

Richard, any comments or suggestions about this?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#78085; Package emacs. (Sun, 11 May 2025 06:35:02 GMT) Full text and rfc822 format available.

Message #11 received at 78085 <at> debbugs.gnu.org (full text, mbox):

From: Richard Lawrence <rwl <at> recursewithless.net>
To: Eli Zaretskii <eliz <at> gnu.org>, "Timo E." <tengel <at> mailbox.org>
Cc: 78085 <at> debbugs.gnu.org
Subject: Re: bug#78085: 30.1; wrong iCalendar export with diary-float
Date: Sun, 11 May 2025 08:34:06 +0200
[Message part 1 (text/plain, inline)]
Eli Zaretskii <eliz <at> gnu.org> writes:

> Richard, any comments or suggestions about this?

Yep, that's a bug. Here's a patch that should fix the issue.

Timo: note that if you want to use this patch, you'll now need to set
`icalendar-recurring-start-year' to something sensible for you, since
the start date will be the first matching value in that year, not the
date of export.

FYI, this patch is a backport to icalendar.el from a new implementation
of iCalendar import/export for the diary which I'm almost finished with.
I hope I'll be able to post that over in Bug#74994 soon, though I've got
a few work-related deadlines in the next few weeks that might delay it
until the end of June or so.

Best,
Richard

[0001-Fix-DTSTART-date-when-exporting-diary-float.patch (text/x-diff, attachment)]

Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Sat, 17 May 2025 09:03:02 GMT) Full text and rfc822 format available.

Notification sent to "Timo E." <tengel <at> mailbox.org>:
bug acknowledged by developer. (Sat, 17 May 2025 09:03:02 GMT) Full text and rfc822 format available.

Message #16 received at 78085-done <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Richard Lawrence <rwl <at> recursewithless.net>
Cc: tengel <at> mailbox.org, 78085-done <at> debbugs.gnu.org
Subject: Re: bug#78085: 30.1; wrong iCalendar export with diary-float
Date: Sat, 17 May 2025 12:02:34 +0300
> From: Richard Lawrence <rwl <at> recursewithless.net>
> Cc: 78085 <at> debbugs.gnu.org
> Date: Sun, 11 May 2025 08:34:06 +0200
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> > Richard, any comments or suggestions about this?
> 
> Yep, that's a bug. Here's a patch that should fix the issue.
> 
> Timo: note that if you want to use this patch, you'll now need to set
> `icalendar-recurring-start-year' to something sensible for you, since
> the start date will be the first matching value in that year, not the
> date of export.
> 
> FYI, this patch is a backport to icalendar.el from a new implementation
> of iCalendar import/export for the diary which I'm almost finished with.
> I hope I'll be able to post that over in Bug#74994 soon, though I've got
> a few work-related deadlines in the next few weeks that might delay it
> until the end of June or so.

Thanks, I've now installed the patch on the master branch, and I'm
closing the bug.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 14 Jun 2025 11:24:20 GMT) Full text and rfc822 format available.

This bug report was last modified today.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.