Skip to content

Commit

Permalink
[giow] (0) Fix a couple of parser bugs that made valid ES floating po…
Browse files Browse the repository at this point in the history
…int numbers not get parsed to the same meaning in HTML attributes

Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=12220

git-svn-id: http://svn.whatwg.org/webapps@6084 340c8d12-0b0e-0410-8428-c7bf67bfef74
  • Loading branch information
Hixie committed May 5, 2011
1 parent 162ec26 commit 1bfc0e8
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 3 deletions.
17 changes: 16 additions & 1 deletion complete.html
Original file line number Diff line number Diff line change
Expand Up @@ -4195,6 +4195,15 @@ <h5 id=real-numbers><span class=secno>2.5.4.3 </span>Real numbers</h5>

<li>If <var title="">position</var> is past the end of <var title="">input</var>, return an error.</li>

</ol><p>Otherwise, if the character indicated by <var title="">position</var> (the first character) is a U+002B PLUS
SIGN character (+):</p>

<ol><li>Advance <var title="">position</var> to the next
character. (The "<code title="">+</code>" is ignored, but it is
not conforming.)</li>

<li>If <var title="">position</var> is past the end of <var title="">input</var>, return an error.</li>

</ol></li>

<li><p>If the character indicated by <var title="">position</var>
Expand All @@ -4219,9 +4228,15 @@ <h5 id=real-numbers><span class=secno>2.5.4.3 </span>Real numbers</h5>
character.</li>

<li><p>If <var title="">position</var> is past the end of <var title="">input</var>, or if the character indicated by <var title="">position</var> is not one of U+0030 DIGIT ZERO (0) to
U+0039 DIGIT NINE (9), then jump to the step labeled
U+0039 DIGIT NINE (9), U+0065 LATIN SMALL LETTER E (e), or U+0045
LATIN CAPITAL LETTER E (E), then jump to the step labeled
<i>conversion</i>.</li>

<li><p>If the character indicated by <var title="">position</var>
is a U+0065 LATIN SMALL LETTER E character (e) or a U+0045 LATIN
CAPITAL LETTER E character (E), skip the remainder of these
substeps.</p>

<li><p><i>Fraction loop</i>: Multiply <var title="">divisor</var>
by ten.</li>

Expand Down
17 changes: 16 additions & 1 deletion index
Original file line number Diff line number Diff line change
Expand Up @@ -4220,6 +4220,15 @@ explained in the previous section, which talks about RFC 2119. -->

<li>If <var title="">position</var> is past the end of <var title="">input</var>, return an error.</li>

</ol><p>Otherwise, if the character indicated by <var title="">position</var> (the first character) is a U+002B PLUS
SIGN character (+):</p>

<ol><li>Advance <var title="">position</var> to the next
character. (The "<code title="">+</code>" is ignored, but it is
not conforming.)</li>

<li>If <var title="">position</var> is past the end of <var title="">input</var>, return an error.</li>

</ol></li>

<li><p>If the character indicated by <var title="">position</var>
Expand All @@ -4244,9 +4253,15 @@ explained in the previous section, which talks about RFC 2119. -->
character.</li>

<li><p>If <var title="">position</var> is past the end of <var title="">input</var>, or if the character indicated by <var title="">position</var> is not one of U+0030 DIGIT ZERO (0) to
U+0039 DIGIT NINE (9), then jump to the step labeled
U+0039 DIGIT NINE (9), U+0065 LATIN SMALL LETTER E (e), or U+0045
LATIN CAPITAL LETTER E (E), then jump to the step labeled
<i>conversion</i>.</li>

<li><p>If the character indicated by <var title="">position</var>
is a U+0065 LATIN SMALL LETTER E character (e) or a U+0045 LATIN
CAPITAL LETTER E character (E), skip the remainder of these
substeps.</p>

<li><p><i>Fraction loop</i>: Multiply <var title="">divisor</var>
by ten.</li>

Expand Down
23 changes: 22 additions & 1 deletion source
Original file line number Diff line number Diff line change
Expand Up @@ -3366,6 +3366,21 @@ is conforming depends on which specs apply, and leaves it at that. -->

</ol>

<p>Otherwise, if the character indicated by <var
title="">position</var> (the first character) is a U+002B PLUS
SIGN character (+):</p>

<ol>

<li>Advance <var title="">position</var> to the next
character. (The "<code title="">+</code>" is ignored, but it is
not conforming.)</li>

<li>If <var title="">position</var> is past the end of <var
title="">input</var>, return an error.</li>

</ol>

</li>

<li><p>If the character indicated by <var title="">position</var>
Expand Down Expand Up @@ -3396,9 +3411,15 @@ is conforming depends on which specs apply, and leaves it at that. -->
<li><p>If <var title="">position</var> is past the end of <var
title="">input</var>, or if the character indicated by <var
title="">position</var> is not one of U+0030 DIGIT ZERO (0) to
U+0039 DIGIT NINE (9), then jump to the step labeled
U+0039 DIGIT NINE (9), U+0065 LATIN SMALL LETTER E (e), or U+0045
LATIN CAPITAL LETTER E (E), then jump to the step labeled
<i>conversion</i>.</li>

<li><p>If the character indicated by <var title="">position</var>
is a U+0065 LATIN SMALL LETTER E character (e) or a U+0045 LATIN
CAPITAL LETTER E character (E), skip the remainder of these
substeps.</p>

<li><p><i>Fraction loop</i>: Multiply <var title="">divisor</var>
by ten.</p></li>

Expand Down

0 comments on commit 1bfc0e8

Please sign in to comment.