emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debbugs-tracker] bug#15408: closed (23.4; icalendar import: daylight sa


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#15408: closed (23.4; icalendar import: daylight saving time)
Date: Wed, 30 Jul 2014 16:34:02 +0000

Your message dated Wed, 30 Jul 2014 18:33:03 +0200
with message-id <address@hidden>
and subject line Re: bug#15408: 23.4; icalendar import: daylight saving time
has caused the debbugs.gnu.org bug report #15408,
regarding 23.4; icalendar import: daylight saving time
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
15408: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15408
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: 23.4; icalendar import: daylight saving time Date: Wed, 18 Sep 2013 14:54:01 +0200
[This is a small bug in icalendar.el.  A simple fix is provided.
Although tested on version 23.4, I checked the file icalendar.el hasn't
changed in current developpement version (downloaded for bazaar
repository on Sep 4th).]

* bug description

When importing an ics file into a diary file, date/times are not always
correctly converted from UTC to local time zone.

Example: let's import the provided mini.ics icalendar file, where
dates are in UTC (trailing 'Z'), on a system using the Europe/Paris
time zone.  This time zone has a time 2 hours ahead of UTC during
daylight saving and 1 hour ahead otherwise.

The file contains two events, the first one is planned on november 12
2013, from 12:15 to 14:00 UTC, the second one is planned on september
12 2013, from 8:00 to 9:45 UTC.

september 12 2013 is in daylight saving time period, while december 11
2013 is not.  The generated diary file (provided as mini.diary) shows
a 2 hours offset has been added to both events, while it should have
added a single hour offset to the second one.  It has been generated
on september 7 2013, during daylight saving time period.  Please note
that my emacs uses the european date display style, so that september
12 2013 is written as 12/9/2013 in the diary file.

* fix description

The function icalendar--decode-isodatetime in calendar/icalendar.el
calls (current-time-zone) to add current time zone offset when the ics
time is UTC.  However, the function is called without argument,
meaning the returned offset is the one applying at the time of
calling.

It should be called with the (UTC) date/time of the converted
date/time so that computed offset is the one in force at that precise
date/time.

The patch file icalendar.patch fixes the problem.  File
mini.diary-patched is the result of importing mini.ics with the
patched icalendar.el file.

* changelog

Small change in icalendar--decode-isodatetime.


Attachment: mini.ics
Description: example ics file

Attachment: mini.diary
Description: diary from importing mini.ics (w/ bad time)

Attachment: mini.diary-patched
Description: (correct) diary from importing mini.ics w/ patch applied

Attachment: icalendar.patch
Description: patch


--- End Message ---
--- Begin Message --- Subject: Re: bug#15408: 23.4; icalendar import: daylight saving time Date: Wed, 30 Jul 2014 18:33:03 +0200 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (gnu/linux)
Christophe Deleuze <address@hidden> writes:

> [This is a small bug in icalendar.el.  A simple fix is provided.

I applied your patch to the trunk (and added a unit test), rev. 117612.

Thank you very much!



--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]