unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#56125: 28.1; Timezone conversion sometimes wrong for recurring events, when importing ical to diary
@ 2022-06-21 14:21 Martin Apel via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-06-21 18:57 ` Lars Ingebrigtsen
  0 siblings, 1 reply; 8+ messages in thread
From: Martin Apel via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-06-21 14:21 UTC (permalink / raw)
  To: 56125

[-- Attachment #1: Type: text/plain, Size: 11227 bytes --]

When importing the attached minimal ical file using icalendar-import-file, the resulting time is off by one hour. The problem probably lies somewhere in icalendar--convert-recurring-to-diary, but I couldn't pinpoint the exact location.
The only meeting in the attached icalendar file is defined in timezone 'America/New_York' at 10 am. It shows up in my diary (which is timezone 'Europe/Berlin') at 3pm, even though the time difference between the two timezones is 6 hours.

To reproduce, save the attached file somewhere and execute the following command:

(icalendar-import-file "~/calendar_issue.ical" "~/test.diary")

after adjusting the paths as necessary.


In GNU Emacs 28.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.24, cairo version 1.16.0)
 of 2022-04-05 built on LP5-MAL1-CEM
Repository revision: 5a223c7f2ef4c31abbd46367b6ea83cd19d30aa7
Repository branch: HEAD
Windowing system distributor 'HC-Consult', version 11.0.12009000
System Description: Debian GNU/Linux 11 (bullseye)

Configured using:
 'configure --program-suffix=-28 --with-x-toolkit=gtk3 --with-json --with-native-compilation --with-xwidgets CC=gcc-10
 PKG_CONFIG_PATH=/opt/rh/devtoolset-8/root/usr/lib64/pkgconfig'

Configured features:
CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON LIBOTF LIBSELINUX LIBXML2 MODULES NATIVE_COMP
NOTIFY INOTIFY PDUMPER PNG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM XWIDGETS GTK3 ZLIB

Important settings:
  value of $LANG: en_US.UTF8
  locale-coding-system: utf-8-unix

Major mode: Diary

Minor modes in effect:
  dap-tooltip-mode: t
  dap-ui-many-windows-mode: t
  dap-ui-controls-mode: t
  dap-ui-mode: t
  treemacs-filewatch-mode: t
  treemacs-follow-mode: t
  treemacs-git-mode: t
  treemacs-fringe-indicator-mode: t
  company-box-mode: t
  global-git-commit-mode: t
  global-hl-line-mode: t
  gud-tooltip-mode: t
  global-auto-revert-mode: t
  org-msg-mode: t
  keyfreq-autosave-mode: t
  keyfreq-mode: t
  dap-auto-configure-mode: t
  dap-mode: t
  doom-modeline-mode: t
  marginalia-mode: t
  savehist-mode: t
  vertico-mode: t
  global-company-mode: t
  company-mode: t
  shell-dirtrack-mode: t
  projectile-mode: t
  modern-c++-font-lock-global-mode: t
  auto-compile-on-load-mode: t
  auto-compile-on-save-mode: t
  which-key-mode: t
  desktop-save-mode: t
  org-roam-db-autosync-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
/home/martin/.emacs.d/el-get/transient/lisp/transient hides /usr/local/share/emacs/28.1/lisp/transient
/home/martin/.emacs.d/el-get/gdb-mi/gdb-mi hides /usr/local/share/emacs/28.1/lisp/progmodes/gdb-mi

Features:
(shadow emacsbug ivy-hydra cl-print edebug backtrace cal-coptic cal-julian todo-mode midnight cal-x cal-tex cal-html
gnutls mailalias guess-language org-indent image-file image-converter mhtml-mode css-mode-expansions css-mode
js-mode-expansions js html-mode-expansions sgml-mode facemenu cmake-mode rst bug-reference expand-region
subword-mode-expansions text-mode-expansions cc-mode-expansions the-org-mode-expansions er-basic-expansions
expand-region-core expand-region-custom find-file dabbrev vc ediff-vers ediff ediff-merg ediff-mult ediff-wind
ediff-diff ediff-help ediff-init ediff-util cus-start swiper ivy delsel ivy-faces ivy-overlay colir two-column shortdoc
help-fns deadgrep magit-extras cal-move qp sort smiley shr-color mail-extr org-duration cal-iso ace-window orderless
org-jira org-jira-sdk jiralib soap-client rng-xsd rng-dt rng-util xsd-regexp org-clock ox-beamer make-mode ol-eww eww
xdg url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-search eieio-opt speedbar ezimage dframe
ol-docview ol-bibtex ol-bbdb ol-w3m ol-doi org-link-doi dired-aux lsp-headerline lsp-icons dap-mouse dap-ui gdb-mi
gdb-module bui bui-list bui-info bui-entry bui-core bui-history bui-button bui-utils lsp-lens lsp-ui lsp-ui-flycheck
lsp-ui-doc xwidget treemacs-bookmarks magit-bookmark bookmark lsp-ui-imenu lsp-ui-peek lsp-ui-sideline lsp-ui-util
lsp-yaml lsp-xml lsp-pyls lsp-php lsp-perl lsp-json lsp-javascript lsp-groovy lsp-dockerfile lsp-cmake lsp-clangd
lsp-bash face-remap lsp-treemacs lsp-treemacs-themes treemacs treemacs-header-line treemacs-compatibility treemacs-mode
treemacs-interface treemacs-extensions treemacs-mouse-interface treemacs-tags treemacs-persistence
treemacs-filewatch-mode treemacs-follow-mode treemacs-rendering treemacs-async treemacs-workspaces treemacs-dom
treemacs-visuals treemacs-fringe-indicator treemacs-scope pulse treemacs-faces treemacs-icons treemacs-themes
treemacs-core-utils pfuture treemacs-logging treemacs-customization treemacs-macros mm-archive url-cache csh-mode
sh-script smie executable checkdoc hi-lock lsp-completion lsp-diagnostics lsp-modeline flycheck idle-highlight-mode
cwarn flyspell ispell cap-words superword subword smartscan company-box company-box-doc frame-local company-box-icons
cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs mu4e-alert time alert mu4e
mu4e-org mu4e-main mu4e-view mu4e-view-gnus mu4e-view-common mu4e-headers mu4e-compose mu4e-context mu4e-draft
mu4e-actions ido rfc2368 smtpmail sendmail mu4e-mark mu4e-proc mu4e-utils doc-view image-mode exif mu4e-lists
mu4e-message flow-fill mu4e-vars mu4e-meta epa-file atl-stash magit-submodule magit-obsolete magit-popup magit-blame
magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit
magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs
magit-status magit magit-repos magit-apply magit-wip magit-log which-func magit-diff smerge-mode diff git-commit
log-edit pcvs-util add-log magit-core magit-margin magit-transient magit-process with-editor magit-mode transient
request hl-line server magit-autorevert magit-git magit-utils crm gud autorevert ma-funcs notifications hideshow org-msg
ox-pandoc ox-org ox-md ox-latex ox-icalendar org-agenda ox-html table ox-ascii ox-publish ox htmlize gnus-msg
gnus-icalendar icalendar gnus-dired gnus-cite gnus-art mm-uu mml2015 mm-view mml-smime smime dig gnus-sum shr kinsoku
svg dom gnus-group gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo
gnus-spec gnus-int gnus-range message rfc822 mml mml-sec epa derived mm-decode mm-bodies mm-encode mailabbrev gmm-utils
mailheader gnus-win gnus nnheader gnus-util rmail rmail-loaddefs mail-utils cus-edit cus-load keyfreq dap-gdb-lldb
dap-cpptools dap-utils dap-mode dap-launch posframe dap-overlays lsp-mode lsp-protocol yasnippet tree-widget wid-edit
spinner network-stream markdown-mode color inline imenu ht filenotify ewoc epg rfc6068 epg-config modus-vivendi-theme
modus-operandi-theme modus-themes doom-modeline doom-modeline-segments doom-modeline-env doom-modeline-core shrink-path
f s all-the-icons all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons
data-alltheicons marginalia savehist vertico company-oddmuse company-keywords company-etags etags fileloop xref project
company-gtags company-dabbrev-code company-dabbrev company-files company-clang company-capf company-cmake
company-semantic company-template company-bbdb company pcase tramp-cache tramp-sh tramp tramp-loaddefs trampver
tramp-integration files-x tramp-compat shell parse-time ls-lisp projectile grep compile text-property-search ibuf-ext
ibuffer ibuffer-loaddefs diminish persistent-soft list-utils pcache eieio-base jka-compr font-utils unicode-fonts
modern-cpp-font-lock auto-compile packed which-key desktop frameset autoinsert link-hint ffap goto-addr thingatpt avy
hydra lv german-holidays view mule-util cal-china lunar solar cal-dst cal-bahai cal-islam cal-hebrew holidays
hol-loaddefs vc-git diff-mode vc-dispatcher appt diary-lib diary-loaddefs http-post-simple comp comp-cstr warnings
org-roam-migrate org-roam-log org-roam-mode org-roam-capture org-roam-id org-roam-node org-roam-db org-roam-utils
org-roam-compat org-roam org-capture org-element avl-tree generator org-attach org-id org-refile org org-macro
org-footnote org-pcomplete pcomplete org-list org-faces org-entities noutline outline easy-mmode org-version ob-ditaa
ob-dot ob ob-tangle org-src ob-ref ob-lob ob-table ob-exp ob-comint comint ansi-color ring ob-emacs-lisp ob-core ob-eval
org-table oc-basic bibtex iso8601 time-date ol org-keys oc org-compat org-macs org-loaddefs format-spec find-func
cal-menu calendar cal-loaddefs emacsql-sqlite url-http url-auth url-gw nsm rmc puny advice emacsql emacsql-compiler
magit-section dash org-bullets edmacro kmacro cl rx el-get el-get-autoloading el-get-list-packages el-get-dependencies
el-get-build el-get-status pp el-get-methods el-get-fossil el-get-svn el-get-pacman el-get-github-zip el-get-github-tar
el-get-http-zip el-get-http-tar el-get-hg el-get-go el-get-git-svn el-get-fink el-get-emacswiki el-get-http
el-get-notify el-get-emacsmirror el-get-github el-get-git el-get-elpa el-get-darcs el-get-cvs el-get-bzr el-get-brew
el-get-builtin el-get-apt-get el-get-recipes el-get-byte-compile el-get-custom cl-extra help-mode el-get-core autoload
radix-tree lisp-mnt mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr dired dired-loaddefs finder-inf
package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap
url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json subr-x map
url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib iso-transl tooltip eldoc paren electric uniquify
ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image
regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar
rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame
minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button loaddefs faces
cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote threads xwidget-internal dbusbind inotify dynamic-setting system-font-setting
font-render-setting cairo move-toolbar gtk x-toolkit x multi-tty make-network-process native-compile emacs)

Memory information:
((conses 16 1949620 1340398)
 (symbols 48 74123 27)
 (strings 32 730752 148594)
 (string-bytes 1 40969210)
 (vectors 16 187176)
 (vector-slots 8 3754720 1237337)
 (floats 8 3048 11198)
 (intervals 56 71264 32672)
 (buffers 992 224))

[-- Attachment #2.1.1: Type: text/plain, Size: 0 bytes --]



[-- Attachment #2.1.2: Type: text/html, Size: 571 bytes --]

[-- Attachment #2.2: calendar_issue.ical --]
[-- Type: application/octet-stream, Size: 1311 bytes --]

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//davmail.sf.net/NONSGML DavMail Calendar V1.1//EN
METHOD:PUBLISH
BEGIN:VTIMEZONE
TZID:America/New_York
BEGIN:STANDARD
DTSTART:16010101T020000
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=1SU;BYMONTH=11
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:16010101T020000
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=2SU;BYMONTH=3
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
ORGANIZER;CN="Someone":MAILTO:Someone@somewhere.com
DESCRIPTION;LANGUAGE=en-US:Dummy
RRULE:FREQ=WEEKLY;INTERVAL=2;BYDAY=TH;WKST=MO
UID:040000008200E00074C5B7101A82E0080000000000C2199FEA2ED80100000000000000001
 0000000A5B64C1A3F56FA46BE19A6956606D137
SUMMARY;LANGUAGE=en-US:Dummy
DTSTART;TZID="America/New_York":20220317T100000
DTEND;TZID="America/New_York":20220317T103000
CLASS:PUBLIC
PRIORITY:5
DTSTAMP:20220303T153703Z
TRANSP:OPAQUE
STATUS:CONFIRMED
SEQUENCE:0
X-MICROSOFT-CDO-APPT-SEQUENCE:0
X-MICROSOFT-CDO-OWNERAPPTID:-1616693274
X-MICROSOFT-CDO-BUSYSTATUS:BUSY
X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
X-MICROSOFT-CDO-ALLDAYEVENT:FALSE
X-MICROSOFT-CDO-IMPORTANCE:1
X-MICROSOFT-CDO-INSTTYPE:1
X-MICROSOFT-DONOTFORWARDMEETING:FALSE
X-MICROSOFT-DISALLOW-COUNTER:FALSE
LAST-MODIFIED:20220525T120006Z
END:VEVENT
END:VCALENDAR

^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#56125: 28.1; Timezone conversion sometimes wrong for recurring events, when importing ical to diary
  2022-06-21 14:21 bug#56125: 28.1; Timezone conversion sometimes wrong for recurring events, when importing ical to diary Martin Apel via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-06-21 18:57 ` Lars Ingebrigtsen
  2022-06-21 22:10   ` Phil Sainty
  2022-06-22  6:10   ` Martin Apel via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 2 replies; 8+ messages in thread
From: Lars Ingebrigtsen @ 2022-06-21 18:57 UTC (permalink / raw)
  To: Martin Apel; +Cc: 56125

Martin Apel <martin.apel@3ds.com> writes:

> When importing the attached minimal ical file using
> icalendar-import-file, the resulting time is off by one hour. The
> problem probably lies somewhere in
> icalendar--convert-recurring-to-diary, but I couldn't pinpoint the
> exact location.  The only meeting in the attached icalendar file is
> defined in timezone 'America/New_York' at 10 am. It shows up in my
> diary (which is timezone 'Europe/Berlin') at 3pm, even though the time
> difference between the two timezones is 6 hours.

No, the difference varies -- Daylight Savings started on March 13 in the
US but on March 27 in the EU, and in that period there was a five hour
difference.

And:

DTSTART;TZID="America/New_York":20220317T100000
DTEND;TZID="America/New_York":20220317T103000

This was in the middle of that period.  So this seems like it's working
as it should?

But if I'm reading the ical file right, this is a recurring (weekly?)
event, so it should be at 4pm after March 27...

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#56125: 28.1; Timezone conversion sometimes wrong for recurring events, when importing ical to diary
  2022-06-21 18:57 ` Lars Ingebrigtsen
@ 2022-06-21 22:10   ` Phil Sainty
  2022-06-22  6:10   ` Martin Apel via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 0 replies; 8+ messages in thread
From: Phil Sainty @ 2022-06-21 22:10 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 56125, Martin Apel

[-- Attachment #1: Type: text/plain, Size: 1081 bytes --]

I've also had some issues with ical->diary times, but it's
a feature I've barely started using, so I don't have much
input and I'd not tried to debug it.

I'm using the mu4e email client as the UI for importing these
from email attachments, but AFAICS that's using icalendar.el
via: (icalendar-import-file path diary-file)

In my case the issue isn't restricted to recurring events,
and in general the times imported into the diary seem to be
0.5 hours later than they ought to be.  The example below
(full file attached) is for a meeting from 15:30 to 16:00
on the 20th, and it showed up in my diary as 16:00 to 16:30.

DTSTART;TZID=/freeassociation.sourceforge.net/Pacific/Auckland:
  20220620T153000
DTEND;TZID=/freeassociation.sourceforge.net/Pacific/Auckland:
  20220620T160000

Something noteworthy about the full attached file is just how
many entries there are for daylight savings vs standard time
within the VTIMEZONE block.  This seems to be a history of
daylight savings variations for the timezone, so I did wonder
whether that could be causing any confusion.


-Phil

[-- Attachment #2: example.ics.gz --]
[-- Type: application/x-gzip, Size: 873 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#56125: 28.1; Timezone conversion sometimes wrong for recurring events, when importing ical to diary
  2022-06-21 18:57 ` Lars Ingebrigtsen
  2022-06-21 22:10   ` Phil Sainty
@ 2022-06-22  6:10   ` Martin Apel via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-06-23  8:48     ` Lars Ingebrigtsen
  1 sibling, 1 reply; 8+ messages in thread
From: Martin Apel via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-06-22  6:10 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 56125

[-- Attachment #1: Type: text/plain, Size: 3259 bytes --]

Hi Lars,


Lars Ingebrigtsen <larsi@gnus.org> writes:

> EXTERNAL EMAIL : The sender of this email is external to 3DS. Be wary of the content and do not open unexpected
> attachments or links. If you consider this email as spam, you can click the following link
> <https://spam-report.3ds.com/?linktext=https://www.mailcontrol.com/sr/YVso8k_J-_nGX2PQPOmvUtvW5gv9VGgLuRYdU8YNcKA2_t9cJ1amT5dPw1_hrXq58cEWYV4_gjYfmF8UmgH1OQ>==
> (no login or additional action will be requested).
>
>
> Martin Apel <martin.apel@3ds.com> writes:
>
>> When importing the attached minimal ical file using
>> icalendar-import-file, the resulting time is off by one hour. The
>> problem probably lies somewhere in
>> icalendar--convert-recurring-to-diary, but I couldn't pinpoint the
>> exact location.  The only meeting in the attached icalendar file is
>> defined in timezone 'America/New_York' at 10 am. It shows up in my
>> diary (which is timezone 'Europe/Berlin') at 3pm, even though the time
>> difference between the two timezones is 6 hours.
>
> No, the difference varies -- Daylight Savings started on March 13 in the
> US but on March 27 in the EU, and in that period there was a five hour
> difference.
>
> And:
>
> DTSTART;TZID="America/New_York":20220317T100000
> DTEND;TZID="America/New_York":20220317T103000
>
> This was in the middle of that period.  So this seems like it's working
> as it should?
>
> But if I'm reading the ical file right, this is a recurring (weekly?)
> event, so it should be at 4pm after March 27...

I thought that it might have something to do with the different start dates for daylight savings time. However it should
show up at 4pm, but it shows up at 3pm after March 27.

Maybe this is a more general problem, that the diary does not consider timezones at all. I think, that the conversion
functionality would need to convert each date of a recurring event separately, as the daylight savings time might have
changed between consecutive repetitions.  However the diary syntax does not allow to specify this, as far as I
understand. So maybe this is more of a shortcoming in the diary syntax than a conversion problem.  Probably instead of
diary-cyclic another sexp would be needed, which also takes the time of day into account, which diary-cyclic does not
do.

Thanks,

Martin
This email and any attachments are intended solely for the use of the individual or entity to whom it is addressed and may be confidential and/or privileged.

If you are not one of the named recipients or have received this email in error,

(i) you should not read, disclose, or copy it,

(ii) please notify sender of your receipt by reply email and delete this email and all attachments,

(iii) Dassault Systèmes does not accept or assume any liability or responsibility for any use of or reliance on this email.


Please be informed that your personal data are processed according to our data privacy policy as described on our website. Should you have any questions related to personal data protection, please contact 3DS Data Protection Officer at 3DS.compliance-privacy@3ds.com<mailto:3DS.compliance-privacy@3ds.com>


For other languages, go to https://www.3ds.com/terms/email-disclaimer

^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#56125: 28.1; Timezone conversion sometimes wrong for recurring events, when importing ical to diary
  2022-06-22  6:10   ` Martin Apel via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-06-23  8:48     ` Lars Ingebrigtsen
  2022-06-23 10:06       ` Martin Apel via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 8+ messages in thread
From: Lars Ingebrigtsen @ 2022-06-23  8:48 UTC (permalink / raw)
  To: Martin Apel; +Cc: 56125

Martin Apel <martin.apel@3ds.com> writes:

> Maybe this is a more general problem, that the diary does not consider
> timezones at all. I think, that the conversion functionality would
> need to convert each date of a recurring event separately, as the
> daylight savings time might have changed between consecutive
> repetitions.

Yes, for repeating events, diary has to keep track of what the original
time zone (and time) is, and convert from that time each day.  I've
skimmed the diary functions, and it doesn't seem like that's something
the diary functions have taken into accound, so patches welcome.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#56125: 28.1; Timezone conversion sometimes wrong for recurring events, when importing ical to diary
  2022-06-23  8:48     ` Lars Ingebrigtsen
@ 2022-06-23 10:06       ` Martin Apel via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-06-23 11:39         ` Lars Ingebrigtsen
  0 siblings, 1 reply; 8+ messages in thread
From: Martin Apel via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-06-23 10:06 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 56125

[-- Attachment #1: Type: text/plain, Size: 2524 bytes --]

Hallo Lars,


Lars Ingebrigtsen <larsi@gnus.org> writes:

> EXTERNAL EMAIL : The sender of this email is external to 3DS. Be wary of the content and do not open unexpected
> attachments or links. If you consider this email as spam, you can click the following link
> <https://spam-report.3ds.com/?linktext=https://www.mailcontrol.com/sr/kra54IrKYHHGX2PQPOmvUiOFufhVdryLdnNqnQjMvSqaqSk_Vs5yB6Bl580EfnElME0E4c2ZJnGzbAWAmKJQAw>==
> (no login or additional action will be requested).
>
>
> Martin Apel <martin.apel@3ds.com> writes:
>
>> Maybe this is a more general problem, that the diary does not consider
>> timezones at all. I think, that the conversion functionality would
>> need to convert each date of a recurring event separately, as the
>> daylight savings time might have changed between consecutive
>> repetitions.
>
> Yes, for repeating events, diary has to keep track of what the original
> time zone (and time) is, and convert from that time each day.  I've
> skimmed the diary functions, and it doesn't seem like that's something
> the diary functions have taken into accound, so patches welcome.

I suppose, that it would be a major undertaking to teach the diary about timezones. As this is a personal diary it
probably also doesn't make too much sense. Therefore I wonder, if it wouldn't be the better approach, to split a
recurring event from ical into separate events in the diary. This way the conversion functionality could convert each
event separately. When I find the time, I can try to improve this, but for now I don't fully understand the details of
the code.
This email and any attachments are intended solely for the use of the individual or entity to whom it is addressed and may be confidential and/or privileged.

If you are not one of the named recipients or have received this email in error,

(i) you should not read, disclose, or copy it,

(ii) please notify sender of your receipt by reply email and delete this email and all attachments,

(iii) Dassault Systèmes does not accept or assume any liability or responsibility for any use of or reliance on this email.


Please be informed that your personal data are processed according to our data privacy policy as described on our website. Should you have any questions related to personal data protection, please contact 3DS Data Protection Officer at 3DS.compliance-privacy@3ds.com<mailto:3DS.compliance-privacy@3ds.com>


For other languages, go to https://www.3ds.com/terms/email-disclaimer

^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#56125: 28.1; Timezone conversion sometimes wrong for recurring events, when importing ical to diary
  2022-06-23 10:06       ` Martin Apel via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-06-23 11:39         ` Lars Ingebrigtsen
  2022-06-23 11:55           ` Martin Apel via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 8+ messages in thread
From: Lars Ingebrigtsen @ 2022-06-23 11:39 UTC (permalink / raw)
  To: Martin Apel; +Cc: 56125

Martin Apel <martin.apel@3ds.com> writes:

> I suppose, that it would be a major undertaking to teach the diary
> about timezones. As this is a personal diary it probably also doesn't
> make too much sense. Therefore I wonder, if it wouldn't be the better
> approach, to split a recurring event from ical into separate events in
> the diary.

If you have an event that repeats yearly, that's a lot of entries.  But
more importantly, you don't know a year in advance what the actual time
is going to be until much later -- gummints change time zone rules on a
whim, and a 4:00 PM event in New York time may or may not be 22:00
German time in five months time -- you can't tell in advance.

The only way to make this work reliably is to store the actual time zone
of the event.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#56125: 28.1; Timezone conversion sometimes wrong for recurring events, when importing ical to diary
  2022-06-23 11:39         ` Lars Ingebrigtsen
@ 2022-06-23 11:55           ` Martin Apel via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 8+ messages in thread
From: Martin Apel via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-06-23 11:55 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 56125

[-- Attachment #1: Type: text/plain, Size: 2473 bytes --]

Hi Lars,


Lars Ingebrigtsen <larsi@gnus.org> writes:

> EXTERNAL EMAIL : The sender of this email is external to 3DS. Be wary of the content and do not open unexpected
> attachments or links. If you consider this email as spam, you can click the following link
> <https://spam-report.3ds.com/?linktext=https://www.mailcontrol.com/sr/Ri-y_fRwJa3GX2PQPOmvUlhqVkVjG5IMhtG34Ywo4bup69pP_gPIWh_-ZlybT53XME0E4c2ZJnEeq4Nrivo6iw>==
> (no login or additional action will be requested).
>
>
> Martin Apel <martin.apel@3ds.com> writes:
>
>> I suppose, that it would be a major undertaking to teach the diary
>> about timezones. As this is a personal diary it probably also doesn't
>> make too much sense. Therefore I wonder, if it wouldn't be the better
>> approach, to split a recurring event from ical into separate events in
>> the diary.
>
> If you have an event that repeats yearly, that's a lot of entries.  But
> more importantly, you don't know a year in advance what the actual time
> is going to be until much later -- gummints change time zone rules on a
> whim, and a 4:00 PM event in New York time may or may not be 22:00
> German time in five months time -- you can't tell in advance.
>
> The only way to make this work reliably is to store the actual time zone
> of the event.

You are right, I thought that these times are fairly fixed. I think for the time being I have to be careful with
appointments created in different timezones, because extending the diary package is beyond my ELisp skills and also
beyond my free time.
This email and any attachments are intended solely for the use of the individual or entity to whom it is addressed and may be confidential and/or privileged.

If you are not one of the named recipients or have received this email in error,

(i) you should not read, disclose, or copy it,

(ii) please notify sender of your receipt by reply email and delete this email and all attachments,

(iii) Dassault Systèmes does not accept or assume any liability or responsibility for any use of or reliance on this email.


Please be informed that your personal data are processed according to our data privacy policy as described on our website. Should you have any questions related to personal data protection, please contact 3DS Data Protection Officer at 3DS.compliance-privacy@3ds.com<mailto:3DS.compliance-privacy@3ds.com>


For other languages, go to https://www.3ds.com/terms/email-disclaimer

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-06-23 11:55 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-21 14:21 bug#56125: 28.1; Timezone conversion sometimes wrong for recurring events, when importing ical to diary Martin Apel via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-21 18:57 ` Lars Ingebrigtsen
2022-06-21 22:10   ` Phil Sainty
2022-06-22  6:10   ` Martin Apel via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-23  8:48     ` Lars Ingebrigtsen
2022-06-23 10:06       ` Martin Apel via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-23 11:39         ` Lars Ingebrigtsen
2022-06-23 11:55           ` Martin Apel via Bug reports for GNU Emacs, the Swiss army knife of text editors

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).