From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.bugs Subject: bug#55635: `make-decoded-time' incorrectly sets DST to nil, it should be -1 (guess) Date: Fri, 27 May 2022 12:26:56 -0700 Organization: UCLA Computer Science Department Message-ID: References: <940415ce-2e31-ae18-3e16-8fdc54504a67@gmail.com> <87o7zkbif3.fsf@gnus.org> <96e9d729-2e23-5637-3136-ac29e26aa287@cs.ucla.edu> <87r14f8dhw.fsf@gnus.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------kELKUNklcM9uM8vRrftC61Jy" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="3565"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Cc: 55635-done@debbugs.gnu.org, Maxim Nikulin To: Lars Ingebrigtsen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri May 27 22:36:48 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nughU-0000iB-Fk for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 27 May 2022 22:36:48 +0200 Original-Received: from localhost ([::1]:36064 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nughT-0001vO-5E for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 27 May 2022 16:36:47 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:56182) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nufcx-0008N1-KW for bug-gnu-emacs@gnu.org; Fri, 27 May 2022 15:28:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:41927) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nufcx-0006fy-5J for bug-gnu-emacs@gnu.org; Fri, 27 May 2022 15:28:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nufcx-00065l-2f for bug-gnu-emacs@gnu.org; Fri, 27 May 2022 15:28:03 -0400 Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-To: bug-gnu-emacs@gnu.org Resent-Date: Fri, 27 May 2022 19:28:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: cc-closed 55635 X-GNU-PR-Package: emacs Mail-Followup-To: 55635@debbugs.gnu.org, eggert@cs.ucla.edu, m.a.nikulin@gmail.com Original-Received: via spool by 55635-done@debbugs.gnu.org id=D55635.165367962823311 (code D ref 55635); Fri, 27 May 2022 19:28:02 +0000 Original-Received: (at 55635-done) by debbugs.gnu.org; 27 May 2022 19:27:08 +0000 Original-Received: from localhost ([127.0.0.1]:35814 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nufc3-00063v-Tp for submit@debbugs.gnu.org; Fri, 27 May 2022 15:27:08 -0400 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:36886) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nufc0-00063P-I7 for 55635-done@debbugs.gnu.org; Fri, 27 May 2022 15:27:06 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 88F331601D8; Fri, 27 May 2022 12:26:58 -0700 (PDT) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id o16EEjGnc04K; Fri, 27 May 2022 12:26:57 -0700 (PDT) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 82A6C1601F1; Fri, 27 May 2022 12:26:57 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id Ub8w0V-4RwhB; Fri, 27 May 2022 12:26:57 -0700 (PDT) Original-Received: from [192.168.1.9] (cpe-172-91-119-151.socal.res.rr.com [172.91.119.151]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 562F91601EC; Fri, 27 May 2022 12:26:57 -0700 (PDT) Content-Language: en-US In-Reply-To: <87r14f8dhw.fsf@gnus.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:233222 Archived-At: This is a multi-part message in MIME format. --------------kELKUNklcM9uM8vRrftC61Jy Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable On 5/27/22 03:40, Lars Ingebrigtsen wrote: >> This looks wrong. Shouldn't it leave the DST flag alone? I.e., just th= is: >> >> (unless (decoded-time-zone time) >> (setf (decoded-time-zone-time) default-zone)) >> >> That is, if we assume that for the DST component -1 means "unknown" >> and nil means "standard time", it should be OK for >> decoded-time-set-defaults to leave the DST component alone, for the >> same reason that it leaves the DOW component alone. > Yes, I think so. But you changed this in a391ffa2f03, and you usually > have a good reason for changes like this, so I thought there must be > something subtle going on here I didn't quite get. =F0=9F=98=80 Thanks for the compliment, not sure it's deserved here.... > The old code doesn't look quite right, either, I think... >=20 > - ;; When we don't have a time zone and we don't have a DST, then mark > - ;; it as unknown. > - (when (and (not (decoded-time-zone time)) > - (not (decoded-time-dst time))) > - (setf (decoded-time-dst time) -1)) > - > - (when (and (not (decoded-time-zone time)) > - default-zone) > - (setf (decoded-time-zone time) 0)) Yes, that old code was wrong because it incorrectly assumeed that (not=20 (decoded-time-dst time)) means the DST flag is unspecified, whereas it=20 really means that the DST flag is specifying standard time. It also looked odd because default-zone was used only as a boolean, even=20 though its name suggests that it's the default time zone. This usage=20 dates back to commit fa648a59c9818ae284209ac7ae4f3700aebd92c9 which you=20 installed in July 2019. The only call using default-zone in Emacs is in=20 newsticker--decode-iso8601-date, which passes 0 so that the oddity in=20 the implementation makes no difference there. Part of the confusion here is that nil doesn't mean "no time zone is=20 known"; it means "use the Emacs default time zone". In other words, nil=20 has the same interpretation problem in time zones that it has in DST=20 flags - it doesn't mean "unknown". To try to lessen the confusion I installed the attached, which fixes the=20 reported bug so I'll close the bug report. Please feel free to revert if=20 you see a problem with it (I'm just trying to save time here by being bol= d). --------------kELKUNklcM9uM8vRrftC61Jy Content-Type: text/x-patch; charset=UTF-8; name="0001-decoded-time-set-defaults-now-leaves-DST-alone.patch" Content-Disposition: attachment; filename*0="0001-decoded-time-set-defaults-now-leaves-DST-alone.patch" Content-Transfer-Encoding: base64 RnJvbSBmZTM4Y2JjMTRmYjYyN2YzOWUxNDViOWE4NWYwMjlhZjk2ZjkwM2M3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBGcmksIDI3IE1heSAyMDIyIDEyOjE5OjQzIC0wNzAwClN1YmplY3Q6IFtQQVRD SF0gZGVjb2RlZC10aW1lLXNldC1kZWZhdWx0cyBub3cgbGVhdmVzIERTVCBhbG9uZQpNSU1F LVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgK Q29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKKiBsaXNwL2NhbGVuZGFyL3RpbWUt ZGF0ZS5lbCAoZGVjb2RlZC10aW1lLXNldC1kZWZhdWx0cyk6CkRvbuKAmXQgbWVzcyB3aXRo IGRlY29kZWQtdGltZS1kc3QgKEJ1ZyM1NTYzNSkuCi0tLQogbGlzcC9jYWxlbmRhci90aW1l LWRhdGUuZWwgfCAxMyArKysrKysrLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRp b25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpc3AvY2FsZW5kYXIvdGlt ZS1kYXRlLmVsIGIvbGlzcC9jYWxlbmRhci90aW1lLWRhdGUuZWwKaW5kZXggZGM3N2E3Yzdl MC4uNDAzNzRjM2JiNCAxMDA2NDQKLS0tIGEvbGlzcC9jYWxlbmRhci90aW1lLWRhdGUuZWwK KysrIGIvbGlzcC9jYWxlbmRhci90aW1lLWRhdGUuZWwKQEAgLTU2Miw2ICs1NjIsOSBAQCBk ZWNvZGVkLXRpbWUtc2V0LWRlZmF1bHRzCiBUaGlzIHllYXIgaXMgdXNlZCB0byBndWFyYW50 ZWUgcG9ydGFiaWxpdHk7IHNlZSBJbmZvCiBub2RlIGAoZWxpc3ApIFRpbWUgb2YgRGF5Jy4K IAorT3B0aW9uYWwgYXJndW1lbnQgREVGQVVMVC1aT05FIHNwZWNpZmllcyB3aGF0IHRpbWUg em9uZSB0bworZGVmYXVsdCB0byB3aGVuIFRJTUUncyB0aW1lIHpvbmUgaXMgbmlsIChtZWFu aW5nIGxvY2FsIHRpbWUpLgorCiBUSU1FIGlzIG1vZGlmaWVkIGFuZCByZXR1cm5lZC4iCiAg ICh1bmxlc3MgKGRlY29kZWQtdGltZS1zZWNvbmQgdGltZSkKICAgICAoc2V0ZiAoZGVjb2Rl ZC10aW1lLXNlY29uZCB0aW1lKSAwKSkKQEAgLTU3NywxMyArNTgwLDExIEBAIGRlY29kZWQt dGltZS1zZXQtZGVmYXVsdHMKICAgKHVubGVzcyAoZGVjb2RlZC10aW1lLXllYXIgdGltZSkK ICAgICAoc2V0ZiAoZGVjb2RlZC10aW1lLXllYXIgdGltZSkgMTk3MCkpCiAKLSAgOzsgV2hl biB3ZSBkb24ndCBoYXZlIGEgdGltZSB6b25lLCBkZWZhdWx0IHRvIERFRkFVTFQtWk9ORSB3 aXRob3V0Ci0gIDs7IERTVCBpZiBERUZBVUxULVpPTkUgaWYgZ2l2ZW4sIGFuZCB0byB1bmtu b3duIERTVCBvdGhlcndpc2UuCiAgICh1bmxlc3MgKGRlY29kZWQtdGltZS16b25lIHRpbWUp Ci0gICAgKGlmIGRlZmF1bHQtem9uZQotCShwcm9nbiAoc2V0ZiAoZGVjb2RlZC10aW1lLXpv bmUgdGltZSkgZGVmYXVsdC16b25lKQotCSAgICAgICAoc2V0ZiAoZGVjb2RlZC10aW1lLWRz dCB0aW1lKSBuaWwpKQotICAgICAgKHNldGYgKGRlY29kZWQtdGltZS1kc3QgdGltZSkgLTEp KSkKKyAgICAoc2V0ZiAoZGVjb2RlZC10aW1lLXpvbmUgdGltZSkgZGVmYXVsdC16b25lKSkK KworICA7OyBEbyBub3Qgc2V0IGRlY29kZWQtdGltZS13ZWVrZGF5IG9yIGRlY29kZWQtdGlt ZS1kc3QsCisgIDs7IGFzIGVuY29kZS10aW1lIGNhbiBpbmZlciB0aGVtIHdlbGwgZW5vdWdo IHdoZW4gdW5rbm93bi4KIAogICB0aW1lKQogCi0tIAoyLjM0LjEKCg== --------------kELKUNklcM9uM8vRrftC61Jy--