From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id 2O41Nfj7xmOEAgAAbAwnHQ (envelope-from ) for ; Tue, 17 Jan 2023 20:50:16 +0100 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id ABFLNfj7xmO+tgAA9RJhRA (envelope-from ) for ; Tue, 17 Jan 2023 20:50:16 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 7BD5218543 for ; Tue, 17 Jan 2023 20:50:16 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pHrxV-0003lP-Td; Tue, 17 Jan 2023 14:49:25 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pHrxF-0003ip-9r for emacs-orgmode@gnu.org; Tue, 17 Jan 2023 14:49:18 -0500 Received: from mout01.posteo.de ([185.67.36.65]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pHrxC-0002Bu-6C for emacs-orgmode@gnu.org; Tue, 17 Jan 2023 14:49:09 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 2D4822401C4 for ; Tue, 17 Jan 2023 20:49:02 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1673984943; bh=gTAzX6hz6tTCBio9KTzITlz1oJdqHUQTDT4NQ6X3pqY=; h=From:To:Cc:Subject:Date:From; b=aIjb0s5rBJ4lA18CJ/ffaGpjYJgbQn3j9FhB4bjR6vVCTt7J3wwGUPrzM0JnX1okE LKxU6h37ordZmmc0ZASinuKbCS5OyrsEDGElo0ApIEJAvh+Q7XrfmipXkI67nDUS6C Tkz7rq0TJNkh+B57GHPUyk/kC1WpaND6cKTPp5GNGtkbsbqPtOVrrLIWR5h0kEyF2C F8c4c11Jjf73esN5yxv8zG1UihyZhtost2SM+crnT61F8lU7cG5bHoE+gdRKA1RU4S NXiYGyUtr2iTlUso0TGxFmT3CgXinqBdA2HSA2j4LVD8yZBCWJjkqbJpJdrXnzpbjI zAxtSmzerL+tQ== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4NxKG62yq4z6tmH; Tue, 17 Jan 2023 20:49:02 +0100 (CET) From: Ihor Radchenko To: Max Nikulin Cc: emacs-orgmode@gnu.org Subject: Re: [FEATURE REQUEST] Timezone support in org-mode datestamps and org-agenda In-Reply-To: References: <86zgamtv6o.fsf@gmail.com> <87tu0t1i0c.fsf@localhost> <63c2aa9e.170a0220.3bb49.9ef4@mx.google.com> <87pmbhz1x6.fsf@localhost> <87wn5mlo7f.fsf@localhost> <87pmbelnd0.fsf@localhost> <87fscajo2q.fsf@localhost> Date: Tue, 17 Jan 2023 19:49:25 +0000 Message-ID: <878ri1gcvu.fsf@localhost> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=185.67.36.65; envelope-from=yantar92@posteo.net; helo=mout01.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1673985016; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=jI2WzFVf4cpRMUSarPzj3YVTUDPuGA3OR7emVDtoNJs=; b=YiW/IXEvS4BexMXuONY7sC5dokA5we1xQcOd6Xh/p4f4tm5tHlB2efEi0G50l8MlITFfyL VoBplXCO12DGEDBDgao7COGwvZBr9fYyRgIIH57EJUHNRxUZUCewTifU+3ihE7m99rkwhy bFasT1PnwodA4tkImTUlaHTWsxOdMpVSvkW5sq34B8UQOtapCDMTpxaUjm/1ZfozSsCr9v G9X2aQTwxXZIRJx5TQreGG2NZj97RtT5ou4VjAUVzqPW1KmgfdV4IdPnDaPsqQi0BvUfN4 huIZFwW7FMkcCrzjuXB/6OojbC6RSElMMSrGpoH+hzWHihF/jUHy+VjaB3wACg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=posteo.net header.s=2017 header.b=aIjb0s5r; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=posteo.net ARC-Seal: i=1; s=key1; d=yhetil.org; t=1673985016; a=rsa-sha256; cv=none; b=EDwQHop+qlZgtNFo37iqKNVShCuh0lI4bCg04c9NCaNZhKWCf1k7vZ6LdHPbC9dMo+TELq EivkyYGagr3BpyKnibm1p24OReo7kt6apww/KH6c1wWj3q8qBd2K2pF4oLfXJ3L2VYCkmm 33sroeajp1REb6bfY3DmFhe1EwRU4xekexJ9d6nMFVemVV29rzzvdKeaieRCssfca28Gpv JxFgIu/l8JMXZx6S5IQWHnGgbz+EOcu/B0qOMmGOITCUJ103i+EZln+2DGFt98ubQSeloA LaA9b4/1bQgCaqeKHh+wzgePh+yDprKfdxA2NM9wxgbI0rTNf5RfjCuIX/TQkQ== Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=posteo.net header.s=2017 header.b=aIjb0s5r; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=posteo.net X-Spam-Score: -6.08 X-Migadu-Queue-Id: 7BD5218543 X-Migadu-Spam-Score: -6.08 X-Migadu-Scanner: scn1.migadu.com X-TUID: bXxvCTtBdKBh Max Nikulin writes: > https://infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time > Falsehoods programmers believe about time Some potentially relevant items: - Each calendar date is followed by the next in sequence, without skipping. - The standard library supports negative years and years above 10000 - The day of the month always advances contiguously from N to either N+1 or 1, with no discontinuities. - There are 60 seconds in every minute. All the above statements are FALSE! All the above statements may affect, in particular, timestamps with repeaters. Repeaters like +1h or +1d may require querying the TZdb (time API). Some good news is that all the above edge cases would equally affect the current Org's timestamp handling code. Yet, we have no bug reports in this area. I'd even go further and say that we should not try hard to make things 100% accurate: (1) it will waste a lot of resources; (2) users dealing with these edge cases are likely already accustomed to most programs not handling things correctly for their special time zone situations. That said, if there is an easy way to handle some of the edge cases, we can implement them. Important: if some edge cases with time zones are buggy in OS time API, it is not Org's job to work around the problem - we should rather report those bugs upstream. What we should check, however, is the Org's own ad-hoc code that is dealing with timestamps. In particular, I am concerned about the repeater intervals. We will need to carefully review the code to avoid nasty surprises. -- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at . Support Org development at , or support my work at