From: Lars Ingebrigtsen <larsi@gnus.org>
To: Paul Eggert <eggert@cs.ucla.edu>
Cc: 55635@debbugs.gnu.org, Maxim Nikulin <m.a.nikulin@gmail.com>
Subject: bug#55635: `make-decoded-time' incorrectly sets DST to nil, it should be -1 (guess)
Date: Fri, 27 May 2022 12:40:43 +0200 [thread overview]
Message-ID: <87r14f8dhw.fsf@gnus.org> (raw)
In-Reply-To: <96e9d729-2e23-5637-3136-ac29e26aa287@cs.ucla.edu> (Paul Eggert's message of "Thu, 26 May 2022 19:11:53 -0700")
Paul Eggert <eggert@cs.ucla.edu> writes:
>> perhaps -1 is less "filled out" than nil in this
>> case.
>
> Indeed it is, and make-decoded-time's DST flag should default to -1.
So I've now made this change in Emacs 29.
>> It's this code, I guess:
>> ;; When we don't have a time zone, default to DEFAULT-ZONE
>> without
>> ;; DST if DEFAULT-ZONE if given, and to unknown DST otherwise.
>> (unless (decoded-time-zone time)
>> (if default-zone
>> (progn (setf (decoded-time-zone time) default-zone)
>> (setf (decoded-time-dst time) nil))
>> (setf (decoded-time-dst time) -1)))
>
> This looks wrong. Shouldn't it leave the DST flag alone? I.e., just this:
>
> (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. 😀
The old code doesn't look quite right, either, I think...
- ;; 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))
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
next prev parent reply other threads:[~2022-05-27 10:40 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-25 14:46 bug#55635: `make-decoded-time' incorrectly sets DST to nil, it should be -1 (guess) Maxim Nikulin
2022-05-26 12:13 ` Lars Ingebrigtsen
2022-05-27 2:11 ` Paul Eggert
2022-05-27 10:40 ` Lars Ingebrigtsen [this message]
2022-05-27 19:26 ` Paul Eggert
2022-05-28 10:41 ` Lars Ingebrigtsen
2022-05-28 16:31 ` Maxim Nikulin
2022-05-28 16:53 ` Eli Zaretskii
2022-05-28 17:25 ` Paul Eggert
2022-05-29 13:10 ` Lars Ingebrigtsen
2022-05-29 22:04 ` Paul Eggert
2022-05-31 12:25 ` Maxim Nikulin
2022-06-13 21:30 ` Paul Eggert
2022-06-14 15:57 ` Maxim Nikulin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87r14f8dhw.fsf@gnus.org \
--to=larsi@gnus.org \
--cc=55635@debbugs.gnu.org \
--cc=eggert@cs.ucla.edu \
--cc=m.a.nikulin@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.