Skip to content
Permalink
Browse files
[giow] (0) Fix a couple of parser bugs that made valid ES floating po…
…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 1bfc0e835354a0ea897dadc95900c9bd9c0e7483
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 3 deletions.
@@ -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>
@@ -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>

17 index
@@ -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>
@@ -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>

23 source
@@ -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>
@@ -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>

0 comments on commit 1bfc0e8

Please sign in to comment.