You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Normative: Fix ambiguity in FractionalPart grammar
In ParseISODateTime, where the algorithm refers to "the part of
_isoString_ produced by the |TimeFractionalPart| production", it is
ambiguous whether this means the fractional part of the seconds in the
time representation, or the fractional part of the seconds in the
UTC-offset-named time zone.
That is, in the following string,
2021-09-01T02:03:04.56789+23:12:07.987654321[+11:22:33.444445555]
it could refer to "56789" or "444445555"
This fixes the ambiguity by eliminating TimeFractionalPart and referencing
TimeFraction wherever TimeFractionalPart was previously referenced. Note
that TimeFraction includes the decimal separator as well, where
TimeFractionalPart did not, so string indices have to increase by one.
Closes: #1794
<emu-note>The value of ? ToIntegerOrInfinity(*undefined*) is 0.</emu-note>
1072
1069
<emu-alg>
1073
1070
1.Assert: Type(_isoString_) is String.
1074
-
1. Let _year_, _month_, _day_, _hour_, _minute_, _second_, _fraction_, and _calendar_ be the parts of _isoString_ produced respectively by the |DateYear|, |DateMonth|, |DateDay|, |TimeHour|, |TimeMinute|, |TimeSecond|, |TimeFractionalPart|, and |CalendarName| productions, or *undefined* if not present.
1071
+
1. Let _year_, _month_, _day_, _hour_, _minute_, _second_, _fraction_, and _calendar_ be the parts of _isoString_ produced respectively by the |DateYear|, |DateMonth|, |DateDay|, |TimeHour|, |TimeMinute|, |TimeSecond|, |TimeFraction|, and |CalendarName| productions, or *undefined* if not present.
1075
1072
1. If the first code unit of _year_ is 0x2212 (MINUS SIGN), replace it with the code unit 0x002D (HYPHEN-MINUS).
0 commit comments