Skip to content

Commit

Permalink
[ct] (0) Also support dash-dash-space-angle (with any number or type …
Browse files Browse the repository at this point in the history
…of spaces) in comments.

git-svn-id: http://svn.whatwg.org/webapps@3195 340c8d12-0b0e-0410-8428-c7bf67bfef74
  • Loading branch information
Hixie committed Jun 5, 2009
1 parent 75f186c commit 32bb24e
Show file tree
Hide file tree
Showing 2 changed files with 112 additions and 30 deletions.
99 changes: 69 additions & 30 deletions index
Expand Up @@ -967,21 +967,22 @@
<li><a href=#comment-end-dash-state><span class=secno>9.2.4.21 </span>Comment end dash state</a></li>
<li><a href=#comment-end-state><span class=secno>9.2.4.22 </span>Comment end state</a></li>
<li><a href=#comment-end-bang-state><span class=secno>9.2.4.23 </span>Comment end bang state</a></li>
<li><a href=#doctype-state><span class=secno>9.2.4.24 </span>DOCTYPE state</a></li>
<li><a href=#before-doctype-name-state><span class=secno>9.2.4.25 </span>Before DOCTYPE name state</a></li>
<li><a href=#doctype-name-state><span class=secno>9.2.4.26 </span>DOCTYPE name state</a></li>
<li><a href=#after-doctype-name-state><span class=secno>9.2.4.27 </span>After DOCTYPE name state</a></li>
<li><a href=#before-doctype-public-identifier-state><span class=secno>9.2.4.28 </span>Before DOCTYPE public identifier state</a></li>
<li><a href=#doctype-public-identifier-(double-quoted)-state><span class=secno>9.2.4.29 </span>DOCTYPE public identifier (double-quoted) state</a></li>
<li><a href=#doctype-public-identifier-(single-quoted)-state><span class=secno>9.2.4.30 </span>DOCTYPE public identifier (single-quoted) state</a></li>
<li><a href=#after-doctype-public-identifier-state><span class=secno>9.2.4.31 </span>After DOCTYPE public identifier state</a></li>
<li><a href=#before-doctype-system-identifier-state><span class=secno>9.2.4.32 </span>Before DOCTYPE system identifier state</a></li>
<li><a href=#doctype-system-identifier-(double-quoted)-state><span class=secno>9.2.4.33 </span>DOCTYPE system identifier (double-quoted) state</a></li>
<li><a href=#doctype-system-identifier-(single-quoted)-state><span class=secno>9.2.4.34 </span>DOCTYPE system identifier (single-quoted) state</a></li>
<li><a href=#after-doctype-system-identifier-state><span class=secno>9.2.4.35 </span>After DOCTYPE system identifier state</a></li>
<li><a href=#bogus-doctype-state><span class=secno>9.2.4.36 </span>Bogus DOCTYPE state</a></li>
<li><a href=#cdata-section-state><span class=secno>9.2.4.37 </span>CDATA section state</a></li>
<li><a href=#tokenizing-character-references><span class=secno>9.2.4.38 </span>Tokenizing character references</a></ol></li>
<li><a href=#comment-end-space-state><span class=secno>9.2.4.24 </span>Comment end space state</a></li>
<li><a href=#doctype-state><span class=secno>9.2.4.25 </span>DOCTYPE state</a></li>
<li><a href=#before-doctype-name-state><span class=secno>9.2.4.26 </span>Before DOCTYPE name state</a></li>
<li><a href=#doctype-name-state><span class=secno>9.2.4.27 </span>DOCTYPE name state</a></li>
<li><a href=#after-doctype-name-state><span class=secno>9.2.4.28 </span>After DOCTYPE name state</a></li>
<li><a href=#before-doctype-public-identifier-state><span class=secno>9.2.4.29 </span>Before DOCTYPE public identifier state</a></li>
<li><a href=#doctype-public-identifier-(double-quoted)-state><span class=secno>9.2.4.30 </span>DOCTYPE public identifier (double-quoted) state</a></li>
<li><a href=#doctype-public-identifier-(single-quoted)-state><span class=secno>9.2.4.31 </span>DOCTYPE public identifier (single-quoted) state</a></li>
<li><a href=#after-doctype-public-identifier-state><span class=secno>9.2.4.32 </span>After DOCTYPE public identifier state</a></li>
<li><a href=#before-doctype-system-identifier-state><span class=secno>9.2.4.33 </span>Before DOCTYPE system identifier state</a></li>
<li><a href=#doctype-system-identifier-(double-quoted)-state><span class=secno>9.2.4.34 </span>DOCTYPE system identifier (double-quoted) state</a></li>
<li><a href=#doctype-system-identifier-(single-quoted)-state><span class=secno>9.2.4.35 </span>DOCTYPE system identifier (single-quoted) state</a></li>
<li><a href=#after-doctype-system-identifier-state><span class=secno>9.2.4.36 </span>After DOCTYPE system identifier state</a></li>
<li><a href=#bogus-doctype-state><span class=secno>9.2.4.37 </span>Bogus DOCTYPE state</a></li>
<li><a href=#cdata-section-state><span class=secno>9.2.4.38 </span>CDATA section state</a></li>
<li><a href=#tokenizing-character-references><span class=secno>9.2.4.39 </span>Tokenizing character references</a></ol></li>
<li><a href=#tree-construction><span class=secno>9.2.5 </span>Tree construction</a>
<ol>
<li><a href=#creating-and-inserting-elements><span class=secno>9.2.5.1 </span>Creating and inserting elements</a></li>
Expand Down Expand Up @@ -60911,6 +60912,15 @@ interface <dfn id=messageport>MessagePort</dfn> {
(-) character to the comment token's data. Stay in the
<a href=#comment-end-state>comment end state</a>.</dd>

<dt>U+0009 CHARACTER TABULATION</dt>
<dt>U+000A LINE FEED (LF)</dt>
<dt>U+000C FORM FEED (FF)</dt>
<!--<dt>U+000D CARRIAGE RETURN (CR)</dt>-->
<dt>U+0020 SPACE</dt>
<dd><a href=#parse-error>Parse error</a>. Append two U+002D HYPHEN-MINUS (-)
characters and the input character to the comment token's
data. Switch to the <a href=#comment-end-space-state>comment end space state</a>.</dd>

<dt>U+0021 EXCLAMATION MARK (!)</dt>
<dd><a href=#parse-error>Parse error</a>. Switch to the <a href=#comment-end-bang-state>comment end bang
state</a>.</dd>
Expand Down Expand Up @@ -60952,7 +60962,36 @@ interface <dfn id=messageport>MessagePort</dfn> {
comment token's data. Switch to the <a href=#comment-state>comment
state</a>.</dd>

</dl><h5 id=doctype-state><span class=secno>9.2.4.24 </span><dfn>DOCTYPE state</dfn></h5>
</dl><h5 id=comment-end-space-state><span class=secno>9.2.4.24 </span><dfn>Comment end space state</dfn></h5>

<p>Consume the <a href=#next-input-character>next input character</a>:</p>

<dl class=switch><dt>U+003E GREATER-THAN SIGN (&gt;)</dt>
<dd>Emit the comment token. Switch to the <a href=#data-state>data
state</a>.</dd>

<dt>U+002D HYPHEN-MINUS (-)</dt>
<dd>Switch to the <a href=#comment-end-dash-state>comment end dash state</a>.</dd>

<dt>U+0009 CHARACTER TABULATION</dt>
<dt>U+000A LINE FEED (LF)</dt>
<dt>U+000C FORM FEED (FF)</dt>
<!--<dt>U+000D CARRIAGE RETURN (CR)</dt>-->
<dt>U+0020 SPACE</dt>
<dd><a href=#parse-error>Parse error</a>. Append the input character to the
comment token's data. Switch to the <a href=#comment-end-space-state>comment end space
state</a>.</dd>

<dt>EOF</dt>
<dd><a href=#parse-error>Parse error</a>. Emit the comment token. Reconsume
the EOF character in the <a href=#data-state>data state</a>.</dd> <!-- see
comment in comment end state -->

<dt>Anything else</dt>
<dd>Append the input character to the comment token's data. Switch
to the <a href=#comment-state>comment state</a>.</dd>

</dl><h5 id=doctype-state><span class=secno>9.2.4.25 </span><dfn>DOCTYPE state</dfn></h5>

<p>Consume the <a href=#next-input-character>next input character</a>:</p>

Expand All @@ -60972,7 +61011,7 @@ interface <dfn id=messageport>MessagePort</dfn> {
<dd><a href=#parse-error>Parse error</a>. Reconsume the current
character in the <a href=#before-doctype-name-state>before DOCTYPE name state</a>.</dd>

</dl><h5 id=before-doctype-name-state><span class=secno>9.2.4.25 </span><dfn>Before DOCTYPE name state</dfn></h5>
</dl><h5 id=before-doctype-name-state><span class=secno>9.2.4.26 </span><dfn>Before DOCTYPE name state</dfn></h5>

<p>Consume the <a href=#next-input-character>next input character</a>:</p>

Expand Down Expand Up @@ -61004,7 +61043,7 @@ interface <dfn id=messageport>MessagePort</dfn> {
<a href=#current-input-character>current input character</a>. Switch to the <a href=#doctype-name-state>DOCTYPE name
state</a>.</dd>

</dl><h5 id=doctype-name-state><span class=secno>9.2.4.26 </span><dfn>DOCTYPE name state</dfn></h5>
</dl><h5 id=doctype-name-state><span class=secno>9.2.4.27 </span><dfn>DOCTYPE name state</dfn></h5>

<p>Consume the <a href=#next-input-character>next input character</a>:</p>

Expand Down Expand Up @@ -61033,7 +61072,7 @@ interface <dfn id=messageport>MessagePort</dfn> {
<dd>Append the <a href=#current-input-character>current input character</a> to the current DOCTYPE
token's name. Stay in the <a href=#doctype-name-state>DOCTYPE name state</a>.</dd>

</dl><h5 id=after-doctype-name-state><span class=secno>9.2.4.27 </span><dfn>After DOCTYPE name state</dfn></h5>
</dl><h5 id=after-doctype-name-state><span class=secno>9.2.4.28 </span><dfn>After DOCTYPE name state</dfn></h5>

<p>Consume the <a href=#next-input-character>next input character</a>:</p>

Expand Down Expand Up @@ -61073,7 +61112,7 @@ interface <dfn id=messageport>MessagePort</dfn> {

</dd>

</dl><h5 id=before-doctype-public-identifier-state><span class=secno>9.2.4.28 </span><dfn>Before DOCTYPE public identifier state</dfn></h5>
</dl><h5 id=before-doctype-public-identifier-state><span class=secno>9.2.4.29 </span><dfn>Before DOCTYPE public identifier state</dfn></h5>

<p>Consume the <a href=#next-input-character>next input character</a>:</p>

Expand Down Expand Up @@ -61109,7 +61148,7 @@ interface <dfn id=messageport>MessagePort</dfn> {
<i>force-quirks flag</i> to <i>on</i>. Switch to the <a href=#bogus-doctype-state>bogus
DOCTYPE state</a>.</dd>

</dl><h5 id=doctype-public-identifier-(double-quoted)-state><span class=secno>9.2.4.29 </span><dfn>DOCTYPE public identifier (double-quoted) state</dfn></h5>
</dl><h5 id=doctype-public-identifier-(double-quoted)-state><span class=secno>9.2.4.30 </span><dfn>DOCTYPE public identifier (double-quoted) state</dfn></h5>

<p>Consume the <a href=#next-input-character>next input character</a>:</p>

Expand All @@ -61131,7 +61170,7 @@ interface <dfn id=messageport>MessagePort</dfn> {
token's public identifier. Stay in the <a href=#doctype-public-identifier-(double-quoted)-state>DOCTYPE public
identifier (double-quoted) state</a>.</dd>

</dl><h5 id=doctype-public-identifier-(single-quoted)-state><span class=secno>9.2.4.30 </span><dfn>DOCTYPE public identifier (single-quoted) state</dfn></h5>
</dl><h5 id=doctype-public-identifier-(single-quoted)-state><span class=secno>9.2.4.31 </span><dfn>DOCTYPE public identifier (single-quoted) state</dfn></h5>

<p>Consume the <a href=#next-input-character>next input character</a>:</p>

Expand All @@ -61153,7 +61192,7 @@ interface <dfn id=messageport>MessagePort</dfn> {
token's public identifier. Stay in the <a href=#doctype-public-identifier-(single-quoted)-state>DOCTYPE public
identifier (single-quoted) state</a>.</dd>

</dl><h5 id=after-doctype-public-identifier-state><span class=secno>9.2.4.31 </span><dfn>After DOCTYPE public identifier state</dfn></h5>
</dl><h5 id=after-doctype-public-identifier-state><span class=secno>9.2.4.32 </span><dfn>After DOCTYPE public identifier state</dfn></h5>

<p>Consume the <a href=#next-input-character>next input character</a>:</p>

Expand Down Expand Up @@ -61188,7 +61227,7 @@ interface <dfn id=messageport>MessagePort</dfn> {
<i>force-quirks flag</i> to <i>on</i>. Switch to the <a href=#bogus-doctype-state>bogus
DOCTYPE state</a>.</dd>

</dl><h5 id=before-doctype-system-identifier-state><span class=secno>9.2.4.32 </span><dfn>Before DOCTYPE system identifier state</dfn></h5>
</dl><h5 id=before-doctype-system-identifier-state><span class=secno>9.2.4.33 </span><dfn>Before DOCTYPE system identifier state</dfn></h5>

<p>Consume the <a href=#next-input-character>next input character</a>:</p>

Expand Down Expand Up @@ -61224,7 +61263,7 @@ interface <dfn id=messageport>MessagePort</dfn> {
<i>force-quirks flag</i> to <i>on</i>. Switch to the <a href=#bogus-doctype-state>bogus
DOCTYPE state</a>.</dd>

</dl><h5 id=doctype-system-identifier-(double-quoted)-state><span class=secno>9.2.4.33 </span><dfn>DOCTYPE system identifier (double-quoted) state</dfn></h5>
</dl><h5 id=doctype-system-identifier-(double-quoted)-state><span class=secno>9.2.4.34 </span><dfn>DOCTYPE system identifier (double-quoted) state</dfn></h5>

<p>Consume the <a href=#next-input-character>next input character</a>:</p>

Expand All @@ -61246,7 +61285,7 @@ interface <dfn id=messageport>MessagePort</dfn> {
token's system identifier. Stay in the <a href=#doctype-system-identifier-(double-quoted)-state>DOCTYPE system
identifier (double-quoted) state</a>.</dd>

</dl><h5 id=doctype-system-identifier-(single-quoted)-state><span class=secno>9.2.4.34 </span><dfn>DOCTYPE system identifier (single-quoted) state</dfn></h5>
</dl><h5 id=doctype-system-identifier-(single-quoted)-state><span class=secno>9.2.4.35 </span><dfn>DOCTYPE system identifier (single-quoted) state</dfn></h5>

<p>Consume the <a href=#next-input-character>next input character</a>:</p>

Expand All @@ -61268,7 +61307,7 @@ interface <dfn id=messageport>MessagePort</dfn> {
token's system identifier. Stay in the <a href=#doctype-system-identifier-(single-quoted)-state>DOCTYPE system
identifier (single-quoted) state</a>.</dd>

</dl><h5 id=after-doctype-system-identifier-state><span class=secno>9.2.4.35 </span><dfn>After DOCTYPE system identifier state</dfn></h5>
</dl><h5 id=after-doctype-system-identifier-state><span class=secno>9.2.4.36 </span><dfn>After DOCTYPE system identifier state</dfn></h5>

<p>Consume the <a href=#next-input-character>next input character</a>:</p>

Expand All @@ -61293,7 +61332,7 @@ interface <dfn id=messageport>MessagePort</dfn> {
state</a>. (This does <em>not</em> set the DOCTYPE token's
<i>force-quirks flag</i> to <i>on</i>.)</dd>

</dl><h5 id=bogus-doctype-state><span class=secno>9.2.4.36 </span><dfn>Bogus DOCTYPE state</dfn></h5>
</dl><h5 id=bogus-doctype-state><span class=secno>9.2.4.37 </span><dfn>Bogus DOCTYPE state</dfn></h5>

<p>Consume the <a href=#next-input-character>next input character</a>:</p>

Expand All @@ -61308,7 +61347,7 @@ interface <dfn id=messageport>MessagePort</dfn> {
<dt>Anything else</dt>
<dd>Stay in the <a href=#bogus-doctype-state>bogus DOCTYPE state</a>.</dd>

</dl><h5 id=cdata-section-state><span class=secno>9.2.4.37 </span><dfn>CDATA section state</dfn></h5>
</dl><h5 id=cdata-section-state><span class=secno>9.2.4.38 </span><dfn>CDATA section state</dfn></h5>

<p><em>(This can only happen if the <a href=#content-model-flag>content model
flag</a> is set to the PCDATA state, and is unrelated to the
Expand All @@ -61329,7 +61368,7 @@ interface <dfn id=messageport>MessagePort</dfn> {



<h5 id=tokenizing-character-references><span class=secno>9.2.4.38 </span>Tokenizing character references</h5>
<h5 id=tokenizing-character-references><span class=secno>9.2.4.39 </span>Tokenizing character references</h5>

<p>This section defines how to <dfn id=consume-a-character-reference>consume a character
reference</dfn>. This definition is used when parsing character
Expand Down
43 changes: 43 additions & 0 deletions source
Expand Up @@ -74751,6 +74751,15 @@ interface <dfn>MessagePort</dfn> {
(-) character to the comment token's data. Stay in the
<span>comment end state</span>.</dd>

<dt>U+0009 CHARACTER TABULATION</dt>
<dt>U+000A LINE FEED (LF)</dt>
<dt>U+000C FORM FEED (FF)</dt>
<!--<dt>U+000D CARRIAGE RETURN (CR)</dt>-->
<dt>U+0020 SPACE</dt>
<dd><span>Parse error</span>. Append two U+002D HYPHEN-MINUS (-)
characters and the input character to the comment token's
data. Switch to the <span>comment end space state</span>.</dd>

<dt>U+0021 EXCLAMATION MARK (!)</dt>
<dd><span>Parse error</span>. Switch to the <span>comment end bang
state</span>.</dd>
Expand Down Expand Up @@ -74800,6 +74809,40 @@ interface <dfn>MessagePort</dfn> {
</dl>


<h5><dfn>Comment end space state</dfn></h5>

<p>Consume the <span>next input character</span>:</p>

<dl class="switch">

<dt>U+003E GREATER-THAN SIGN (&gt;)</dt>
<dd>Emit the comment token. Switch to the <span>data
state</span>.</dd>

<dt>U+002D HYPHEN-MINUS (-)</dt>
<dd>Switch to the <span>comment end dash state</span>.</dd>

<dt>U+0009 CHARACTER TABULATION</dt>
<dt>U+000A LINE FEED (LF)</dt>
<dt>U+000C FORM FEED (FF)</dt>
<!--<dt>U+000D CARRIAGE RETURN (CR)</dt>-->
<dt>U+0020 SPACE</dt>
<dd><span>Parse error</span>. Append the input character to the
comment token's data. Switch to the <span>comment end space
state</span>.</dd>

<dt>EOF</dt>
<dd><span>Parse error</span>. Emit the comment token. Reconsume
the EOF character in the <span>data state</span>.</dd> <!-- see
comment in comment end state -->

<dt>Anything else</dt>
<dd>Append the input character to the comment token's data. Switch
to the <span>comment state</span>.</dd>

</dl>


<h5><dfn>DOCTYPE state</dfn></h5>

<p>Consume the <span>next input character</span>:</p>
Expand Down

0 comments on commit 32bb24e

Please sign in to comment.