]> git.eshelyaron.com Git - emacs.git/commit
Fix iso8601-parse so unknown DST is -1, not nil
authorPaul Eggert <eggert@cs.ucla.edu>
Fri, 24 Jan 2020 21:36:56 +0000 (13:36 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Fri, 24 Jan 2020 21:41:56 +0000 (13:41 -0800)
commita391ffa2f0377306449b36cc62858db823d2e990
tree6b4c1723452ea8ec3ce456278f964626df209275
parent9c576c207a8f4f98fd89deb4f3b4bfbe1ad37e37
Fix iso8601-parse so unknown DST is -1, not nil

The convention in a decoded time’s dst flag is that t means DST,
nil means standard time, and -1 means unknown.  This differs from
the convention for other components of a decoded time, where nil
means unknown.  Fix some places where iso8601-parse mistakenly
treated nil as meaning that the dst flag was unknown.
* doc/lispref/os.texi (Time Parsing):
Adjust to match parse-time-string’s doc string.
* lisp/calendar/iso8601.el (iso8601-parse):
Set dst flag to nil if a numeric time zone or "Z" is given.
(iso8601--decoded-time): Default dst flag to -1 if no dst
flag or zone is given.
* lisp/calendar/time-date.el (decoded-time-set-defaults):
When we don’t have a time zone, set the dst flag consistently
with DEFAULT-ZONE.
* test/lisp/calendar/iso8601-tests.el (test-iso8601-date-years)
(test-iso8601-date-dates, test-iso8601-date-obsolete)
(test-iso8601-date-weeks, test-iso8601-date-ordinals)
(test-iso8601-time, test-iso8601-combined)
(test-iso8601-duration, test-iso8601-intervals)
(standard-test-dates, standard-test-time-of-day-local-time)
(standard-test-time-of-day-fractions)
(nonstandard-test-time-of-day-decimals)
(standard-test-time-of-day-beginning-of-day)
(standard-test-date-and-time-of-day, standard-test-interval):
Adjust tests to match fixed behavior.
doc/lispref/os.texi
lisp/calendar/iso8601.el
lisp/calendar/time-date.el
test/lisp/calendar/iso8601-tests.el