From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tim Cross Subject: Re: Bug: org-2ft and/or float-time is wrong [9.1.2 (9.1.2-22-ga2a034-elpaplus @ ~/.emacs.d/elpa/org-plus-contrib-20171023/)] Date: Wed, 01 Nov 2017 16:41:57 +1100 Message-ID: References: <87bmknkwhe.fsf@nicolasgoaziou.fr> <87tvyfjgjk.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:42292) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9lmx-0000Ub-GA for emacs-orgmode@gnu.org; Wed, 01 Nov 2017 01:42:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e9lmw-0006Xw-D0 for emacs-orgmode@gnu.org; Wed, 01 Nov 2017 01:42:07 -0400 Received: from mail-pf0-x236.google.com ([2607:f8b0:400e:c00::236]:47614) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1e9lmw-0006Xh-5W for emacs-orgmode@gnu.org; Wed, 01 Nov 2017 01:42:06 -0400 Received: by mail-pf0-x236.google.com with SMTP id z11so1122462pfk.4 for ; Tue, 31 Oct 2017 22:42:05 -0700 (PDT) In-reply-to: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Allen Li Cc: emacs-orgmode@gnu.org, Nicolas Goaziou I think this whole issue really requires a lot more analysis and design. Just removing or cancelling various commits is unlikely to improve matters and could result in new problems. For org to work correctly, especially when interacting/interfacing with other systems, such as external calendars, the use of timestamps must handle timezones consistently and accurately. This is the only way that any daylight savings calculations will work consistently as different timezones have different rules for when daylight savings start/finish (and these rules change). If the tests only support UTC/GMT timezone, they are poor tests and need to be adjusted to use whatever the timezone is on the system running the tests. I also wonder if there is some inconsistencies in how timestamps without a time component are being handled. It would be good to know if the issues Alan has observed exist when a full timestamp is used ie. one with HH:MM:SS.s and not just date. If timezones are not been applied consistently when choosing the default i.e. 00:00:00.0 with respect to timezone offset, you will get inconsistencies when moving between displayed (string) and calculated (number/seconds since epoch) values. Tim Allen Li writes: > On Tue, Oct 31, 2017 at 11:52 AM, Nicolas Goaziou > wrote: >> Allen Li writes: >> >>> Can you clarify on the issues the UTC timezone fixes? >> >> At the moment, I can only give you a pointer, which is commit >> 97a1a498956da2e1961df5a0506df4cbb98fff52. Some other commits followed >> this one in maint and master. >> >> You may want to check the ML for the initial bug report. > > Bisecting on maint shows that this regression happened at > cc5a9bf538a4a7eb1b84d368336c46cead106e01 > > I tested using this command: > > find . -name "*.elc" -delete; emacs -Q --batch --eval "(add-to-list > 'load-path default-directory)" --eval "(require 'org)" --eval "(princ > (current-time-string (org-2ft \"<2017-10-31>\")))" > > I guess the relevant bug is > http://lists.gnu.org/archive/html/emacs-orgmode/2017-07/msg00097.html, > but oddly enough, I cannot reproduce that bug at > cc5a9bf538a4a7eb1b84d368336c46cead106e01~1 > > From what I can glean from the history, > 112c5ba479d52c3c36de5c7aafd14ab6bc075005 is where things started to go > wrong. UTC timezone was added to tests. From there, a number of > commits were added to fix regressions. > > The problem is that the tests were made to assume UTC timezone and Org > mode was changed to also use UTC timezone to make the tests pass; > however, this means that org.el no longer works for non-UTC time > zones. > > That commit's message (112c5ba479d52c3c36de5c7aafd14ab6bc075005) also > seems suspect. It claims to be removing DST offset by enforcing UTC. > That could only be true for people using GMT. In GMT during DST, > enforcing UTC would "remove" the DST offset, but that is not true > anywhere else. > > Given my chain of reasoning, the commits following > 112c5ba479d52c3c36de5c7aafd14ab6bc075005 to fix "regressions" is > really just converting all of Org mode's timestamps to use the > "timezone adjusted" Unix timestamps introduced by > 112c5ba479d52c3c36de5c7aafd14ab6bc075005 -- Tim Cross