[html5] r5162 - [giow] (2) Change the 'end tag' processing to not imply its own end tag, since t [...]

whatwg at whatwg.org whatwg at whatwg.org
Wed Jul 14 12:14:39 PDT 2010


Author: ianh
Date: 2010-07-14 12:14:38 -0700 (Wed, 14 Jul 2010)
New Revision: 5162

Modified:
   complete.html
   index
   source
Log:
[giow] (2) Change the 'end tag' processing to not imply its own end tag, since that makes no sense. (Only affects parsing of rp and rt elements.) Also clean up the way categories are references to avoid too many negatives, and put option and optgroup in the 'special' category (should have no effect in practice). And make a loop use a label rather than jumping to a numbered step.
Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=10080

Modified: complete.html
===================================================================
--- complete.html	2010-07-14 19:04:44 UTC (rev 5161)
+++ complete.html	2010-07-14 19:14:38 UTC (rev 5162)
@@ -78208,14 +78208,14 @@
    <code><a href=#the-marquee-element>marquee</a></code>, <code><a href=#menus>menu</a></code>, <code><a href=#meta>meta</a></code>,
    <code><a href=#the-nav-element>nav</a></code>, <code><a href=#noembed>noembed</a></code>, <code><a href=#noframes>noframes</a></code>,
    <code><a href=#the-noscript-element>noscript</a></code>, <code><a href=#the-object-element>object</a></code>, <code><a href=#the-ol-element>ol</a></code>,
-   <code><a href=#the-p-element>p</a></code>, <code><a href=#the-param-element>param</a></code>, <code><a href=#plaintext>plaintext</a></code>,
-   <code><a href=#the-pre-element>pre</a></code>, <code><a href=#script>script</a></code>, <code><a href=#the-section-element>section</a></code>,
-   <code><a href=#the-select-element>select</a></code>, <code><a href=#the-style-element>style</a></code>, <code><a href=#the-table-element>table</a></code>,
-   <code><a href=#the-tbody-element>tbody</a></code>, <code><a href=#the-td-element>td</a></code>, <code><a href=#the-textarea-element>textarea</a></code>,
-   <code><a href=#the-tfoot-element>tfoot</a></code>, <code><a href=#the-th-element>th</a></code>, <code><a href=#the-thead-element>thead</a></code>,
-   <code><a href=#the-title-element-0>title</a></code>, <code><a href=#the-tr-element>tr</a></code>, <code><a href=#the-ul-element>ul</a></code>,
-   <code><a href=#the-wbr-element>wbr</a></code>, <code><a href=#xmp>xmp</a></code>, and SVG's
-   <code>foreignObject</code>.</dd>
+   <code><a href=#the-optgroup-element>optgroup</a></code>, <code><a href=#the-option-element>option</a></code>, <code><a href=#the-p-element>p</a></code>,
+   <code><a href=#the-param-element>param</a></code>, <code><a href=#plaintext>plaintext</a></code>, <code><a href=#the-pre-element>pre</a></code>,
+   <code><a href=#script>script</a></code>, <code><a href=#the-section-element>section</a></code>, <code><a href=#the-select-element>select</a></code>,
+   <code><a href=#the-style-element>style</a></code>, <code><a href=#the-table-element>table</a></code>, <code><a href=#the-tbody-element>tbody</a></code>,
+   <code><a href=#the-td-element>td</a></code>, <code><a href=#the-textarea-element>textarea</a></code>, <code><a href=#the-tfoot-element>tfoot</a></code>,
+   <code><a href=#the-th-element>th</a></code>, <code><a href=#the-thead-element>thead</a></code>, <code><a href=#the-title-element-0>title</a></code>,
+   <code><a href=#the-tr-element>tr</a></code>, <code><a href=#the-ul-element>ul</a></code>, <code><a href=#the-wbr-element>wbr</a></code>,
+   <code><a href=#xmp>xmp</a></code>, and SVG's <code>foreignObject</code>.</dd>
 
    <dt><dfn id=formatting>Formatting</dfn></dt>
    <dd><p>The following HTML elements are those that end up in the
@@ -81761,12 +81761,10 @@
      <code><a href=#the-li-element>li</a></code> element, then act as if an end tag with the tag
      name "li" had been seen, then jump to the last step.</li>
 
-     <li><p>If <var title="">node</var> is not in the
-     <a href=#formatting>formatting</a> category, and is not in the
-     <a href=#ordinary>ordinary</a> category, and is not an
-     <code><a href=#the-address-element>address</a></code>, <code><a href=#the-div-element>div</a></code>, or <code><a href=#the-p-element>p</a></code>
-     element, then jump to the last step.</li> <!-- an element
-     <foo> is in this list if the following markup:
+     <li><p>If <var title="">node</var> is in the <a href=#special>special</a>
+     category, but is not an <code><a href=#the-address-element>address</a></code>, <code><a href=#the-div-element>div</a></code>,
+     or <code><a href=#the-p-element>p</a></code> element, then jump to the last step.</li>
+     <!-- an element <foo> is in this list if the following markup:
 
          <!DOCTYPE html><body><ol><li><foo><li>
 
@@ -81810,12 +81808,10 @@
      tag with the same tag name as <var title="">node</var> had been
      seen, then jump to the last step.</li>
 
-     <li><p>If <var title="">node</var> is not in the
-     <a href=#formatting>formatting</a> category, and is not in the
-     <a href=#ordinary>ordinary</a> category, and is not an
-     <code><a href=#the-address-element>address</a></code>, <code><a href=#the-div-element>div</a></code>, or <code><a href=#the-p-element>p</a></code>
-     element, then jump to the last step.</li> <!-- an element
-     <foo> is in this list if the following markup:
+     <li><p>If <var title="">node</var> is in the <a href=#special>special</a>
+     category, but is not an <code><a href=#the-address-element>address</a></code>, <code><a href=#the-div-element>div</a></code>,
+     or <code><a href=#the-p-element>p</a></code> element, then jump to the last step.</li>
+     <!-- an element <foo> is in this list if the following markup:
 
          <!DOCTYPE html><body><dl><dt><foo><dt>
 
@@ -82152,12 +82148,11 @@
 
      </li>
 
-     <li><p>Let the <var title="">furthest block</var> be the
-     topmost node in the <a href=#stack-of-open-elements>stack of open elements</a> that
-     is lower in the stack than the <var title="">formatting
-     element</var>, and is not an element in the
-     <a href=#ordinary>ordinary</a> or <a href=#formatting>formatting</a>
-     categories. There might not be one.</li>
+     <li><p>Let the <var title="">furthest block</var> be the topmost
+     node in the <a href=#stack-of-open-elements>stack of open elements</a> that is lower in
+     the stack than the <var title="">formatting element</var>, and is
+     an element in the <a href=#special>special</a> category. There might not
+     be one.</li>
 
      <li><p>If there is no <var title="">furthest block</var>,
      then the UA must skip the subsequent steps and instead just
@@ -82694,10 +82689,11 @@
     <ol><li><p>Initialize <var title="">node</var> to be the <a href=#current-node>current
      node</a> (the bottommost node of the stack).</li>
 
-     <li><p>If <var title="">node</var> has the same tag name as
-     the token, then:</p>
+     <li><p><i>Loop</i>: If <var title="">node</var> has the same tag
+     name as the token, then:</p>
 
-      <ol><li><p><a href=#generate-implied-end-tags>Generate implied end tags</a>.</li>
+      <ol><li><p><a href=#generate-implied-end-tags>Generate implied end tags</a>, except
+       for elements with the same tag name as the token.</li>
 
        <li><p>If the tag name of the end tag token does not match
        the tag name of the <a href=#current-node>current node</a>, this is a
@@ -82708,15 +82704,14 @@
 
       </ol></li>
 
-     <li><p>Otherwise, if <var title="">node</var> is in neither the
-     <a href=#formatting>formatting</a> category nor the <a href=#ordinary>ordinary</a>
-     category, then this is a <a href=#parse-error>parse error</a>; ignore the
-     token, and abort these steps.</li>
+     <li><p>Otherwise, if <var title="">node</var> is in the
+     <a href=#special>special</a> category, then this is a <a href=#parse-error>parse
+     error</a>; ignore the token, and abort these steps.</li>
 
      <li><p>Set <var title="">node</var> to the previous entry in the
      <a href=#stack-of-open-elements>stack of open elements</a>.</li>
 
-     <li><p>Return to step 2.</li>
+     <li><p>Return to the step labeld <i>loop</i>.</li>
 
     </ol></dd>
 

Modified: index
===================================================================
--- index	2010-07-14 19:04:44 UTC (rev 5161)
+++ index	2010-07-14 19:14:38 UTC (rev 5162)
@@ -71449,14 +71449,14 @@
    <code><a href=#the-marquee-element>marquee</a></code>, <code><a href=#menus>menu</a></code>, <code><a href=#meta>meta</a></code>,
    <code><a href=#the-nav-element>nav</a></code>, <code><a href=#noembed>noembed</a></code>, <code><a href=#noframes>noframes</a></code>,
    <code><a href=#the-noscript-element>noscript</a></code>, <code><a href=#the-object-element>object</a></code>, <code><a href=#the-ol-element>ol</a></code>,
-   <code><a href=#the-p-element>p</a></code>, <code><a href=#the-param-element>param</a></code>, <code><a href=#plaintext>plaintext</a></code>,
-   <code><a href=#the-pre-element>pre</a></code>, <code><a href=#script>script</a></code>, <code><a href=#the-section-element>section</a></code>,
-   <code><a href=#the-select-element>select</a></code>, <code><a href=#the-style-element>style</a></code>, <code><a href=#the-table-element>table</a></code>,
-   <code><a href=#the-tbody-element>tbody</a></code>, <code><a href=#the-td-element>td</a></code>, <code><a href=#the-textarea-element>textarea</a></code>,
-   <code><a href=#the-tfoot-element>tfoot</a></code>, <code><a href=#the-th-element>th</a></code>, <code><a href=#the-thead-element>thead</a></code>,
-   <code><a href=#the-title-element-0>title</a></code>, <code><a href=#the-tr-element>tr</a></code>, <code><a href=#the-ul-element>ul</a></code>,
-   <code><a href=#the-wbr-element>wbr</a></code>, <code><a href=#xmp>xmp</a></code>, and SVG's
-   <code>foreignObject</code>.</dd>
+   <code><a href=#the-optgroup-element>optgroup</a></code>, <code><a href=#the-option-element>option</a></code>, <code><a href=#the-p-element>p</a></code>,
+   <code><a href=#the-param-element>param</a></code>, <code><a href=#plaintext>plaintext</a></code>, <code><a href=#the-pre-element>pre</a></code>,
+   <code><a href=#script>script</a></code>, <code><a href=#the-section-element>section</a></code>, <code><a href=#the-select-element>select</a></code>,
+   <code><a href=#the-style-element>style</a></code>, <code><a href=#the-table-element>table</a></code>, <code><a href=#the-tbody-element>tbody</a></code>,
+   <code><a href=#the-td-element>td</a></code>, <code><a href=#the-textarea-element>textarea</a></code>, <code><a href=#the-tfoot-element>tfoot</a></code>,
+   <code><a href=#the-th-element>th</a></code>, <code><a href=#the-thead-element>thead</a></code>, <code><a href=#the-title-element-0>title</a></code>,
+   <code><a href=#the-tr-element>tr</a></code>, <code><a href=#the-ul-element>ul</a></code>, <code><a href=#the-wbr-element>wbr</a></code>,
+   <code><a href=#xmp>xmp</a></code>, and SVG's <code>foreignObject</code>.</dd>
 
    <dt><dfn id=formatting>Formatting</dfn></dt>
    <dd><p>The following HTML elements are those that end up in the
@@ -75002,12 +75002,10 @@
      <code><a href=#the-li-element>li</a></code> element, then act as if an end tag with the tag
      name "li" had been seen, then jump to the last step.</li>
 
-     <li><p>If <var title="">node</var> is not in the
-     <a href=#formatting>formatting</a> category, and is not in the
-     <a href=#ordinary>ordinary</a> category, and is not an
-     <code><a href=#the-address-element>address</a></code>, <code><a href=#the-div-element>div</a></code>, or <code><a href=#the-p-element>p</a></code>
-     element, then jump to the last step.</li> <!-- an element
-     <foo> is in this list if the following markup:
+     <li><p>If <var title="">node</var> is in the <a href=#special>special</a>
+     category, but is not an <code><a href=#the-address-element>address</a></code>, <code><a href=#the-div-element>div</a></code>,
+     or <code><a href=#the-p-element>p</a></code> element, then jump to the last step.</li>
+     <!-- an element <foo> is in this list if the following markup:
 
          <!DOCTYPE html><body><ol><li><foo><li>
 
@@ -75051,12 +75049,10 @@
      tag with the same tag name as <var title="">node</var> had been
      seen, then jump to the last step.</li>
 
-     <li><p>If <var title="">node</var> is not in the
-     <a href=#formatting>formatting</a> category, and is not in the
-     <a href=#ordinary>ordinary</a> category, and is not an
-     <code><a href=#the-address-element>address</a></code>, <code><a href=#the-div-element>div</a></code>, or <code><a href=#the-p-element>p</a></code>
-     element, then jump to the last step.</li> <!-- an element
-     <foo> is in this list if the following markup:
+     <li><p>If <var title="">node</var> is in the <a href=#special>special</a>
+     category, but is not an <code><a href=#the-address-element>address</a></code>, <code><a href=#the-div-element>div</a></code>,
+     or <code><a href=#the-p-element>p</a></code> element, then jump to the last step.</li>
+     <!-- an element <foo> is in this list if the following markup:
 
          <!DOCTYPE html><body><dl><dt><foo><dt>
 
@@ -75393,12 +75389,11 @@
 
      </li>
 
-     <li><p>Let the <var title="">furthest block</var> be the
-     topmost node in the <a href=#stack-of-open-elements>stack of open elements</a> that
-     is lower in the stack than the <var title="">formatting
-     element</var>, and is not an element in the
-     <a href=#ordinary>ordinary</a> or <a href=#formatting>formatting</a>
-     categories. There might not be one.</li>
+     <li><p>Let the <var title="">furthest block</var> be the topmost
+     node in the <a href=#stack-of-open-elements>stack of open elements</a> that is lower in
+     the stack than the <var title="">formatting element</var>, and is
+     an element in the <a href=#special>special</a> category. There might not
+     be one.</li>
 
      <li><p>If there is no <var title="">furthest block</var>,
      then the UA must skip the subsequent steps and instead just
@@ -75935,10 +75930,11 @@
     <ol><li><p>Initialize <var title="">node</var> to be the <a href=#current-node>current
      node</a> (the bottommost node of the stack).</li>
 
-     <li><p>If <var title="">node</var> has the same tag name as
-     the token, then:</p>
+     <li><p><i>Loop</i>: If <var title="">node</var> has the same tag
+     name as the token, then:</p>
 
-      <ol><li><p><a href=#generate-implied-end-tags>Generate implied end tags</a>.</li>
+      <ol><li><p><a href=#generate-implied-end-tags>Generate implied end tags</a>, except
+       for elements with the same tag name as the token.</li>
 
        <li><p>If the tag name of the end tag token does not match
        the tag name of the <a href=#current-node>current node</a>, this is a
@@ -75949,15 +75945,14 @@
 
       </ol></li>
 
-     <li><p>Otherwise, if <var title="">node</var> is in neither the
-     <a href=#formatting>formatting</a> category nor the <a href=#ordinary>ordinary</a>
-     category, then this is a <a href=#parse-error>parse error</a>; ignore the
-     token, and abort these steps.</li>
+     <li><p>Otherwise, if <var title="">node</var> is in the
+     <a href=#special>special</a> category, then this is a <a href=#parse-error>parse
+     error</a>; ignore the token, and abort these steps.</li>
 
      <li><p>Set <var title="">node</var> to the previous entry in the
      <a href=#stack-of-open-elements>stack of open elements</a>.</li>
 
-     <li><p>Return to step 2.</li>
+     <li><p>Return to the step labeld <i>loop</i>.</li>
 
     </ol></dd>
 

Modified: source
===================================================================
--- source	2010-07-14 19:04:44 UTC (rev 5161)
+++ source	2010-07-14 19:14:38 UTC (rev 5162)
@@ -89308,14 +89308,14 @@
    <code>marquee</code>, <code>menu</code>, <code>meta</code>,
    <code>nav</code>, <code>noembed</code>, <code>noframes</code>,
    <code>noscript</code>, <code>object</code>, <code>ol</code>,
-   <code>p</code>, <code>param</code>, <code>plaintext</code>,
-   <code>pre</code>, <code>script</code>, <code>section</code>,
-   <code>select</code>, <code>style</code>, <code>table</code>,
-   <code>tbody</code>, <code>td</code>, <code>textarea</code>,
-   <code>tfoot</code>, <code>th</code>, <code>thead</code>,
-   <code>title</code>, <code>tr</code>, <code>ul</code>,
-   <code>wbr</code>, <code>xmp</code>, and SVG's
-   <code>foreignObject</code>.</p></dd>
+   <code>optgroup</code>, <code>option</code>, <code>p</code>,
+   <code>param</code>, <code>plaintext</code>, <code>pre</code>,
+   <code>script</code>, <code>section</code>, <code>select</code>,
+   <code>style</code>, <code>table</code>, <code>tbody</code>,
+   <code>td</code>, <code>textarea</code>, <code>tfoot</code>,
+   <code>th</code>, <code>thead</code>, <code>title</code>,
+   <code>tr</code>, <code>ul</code>, <code>wbr</code>,
+   <code>xmp</code>, and SVG's <code>foreignObject</code>.</p></dd>
 
    <dt><dfn>Formatting</dfn></dt>
    <dd><p>The following HTML elements are those that end up in the
@@ -93363,12 +93363,10 @@
      <code>li</code> element, then act as if an end tag with the tag
      name "li" had been seen, then jump to the last step.</p></li>
 
-     <li><p>If <var title="">node</var> is not in the
-     <span>formatting</span> category, and is not in the
-     <span>ordinary</span> category, and is not an
-     <code>address</code>, <code>div</code>, or <code>p</code>
-     element, then jump to the last step.</p></li> <!-- an element
-     <foo> is in this list if the following markup:
+     <li><p>If <var title="">node</var> is in the <span>special</span>
+     category, but is not an <code>address</code>, <code>div</code>,
+     or <code>p</code> element, then jump to the last step.</p></li>
+     <!-- an element <foo> is in this list if the following markup:
 
          <!DOCTYPE html><body><ol><li><foo><li>
 
@@ -93416,12 +93414,10 @@
      tag with the same tag name as <var title="">node</var> had been
      seen, then jump to the last step.</p></li>
 
-     <li><p>If <var title="">node</var> is not in the
-     <span>formatting</span> category, and is not in the
-     <span>ordinary</span> category, and is not an
-     <code>address</code>, <code>div</code>, or <code>p</code>
-     element, then jump to the last step.</p></li> <!-- an element
-     <foo> is in this list if the following markup:
+     <li><p>If <var title="">node</var> is in the <span>special</span>
+     category, but is not an <code>address</code>, <code>div</code>,
+     or <code>p</code> element, then jump to the last step.</p></li>
+     <!-- an element <foo> is in this list if the following markup:
 
          <!DOCTYPE html><body><dl><dt><foo><dt>
 
@@ -93797,12 +93793,11 @@
 
      </li>
 
-     <li><p>Let the <var title="">furthest block</var> be the
-     topmost node in the <span>stack of open elements</span> that
-     is lower in the stack than the <var title="">formatting
-     element</var>, and is not an element in the
-     <span>ordinary</span> or <span>formatting</span>
-     categories. There might not be one.</p></li>
+     <li><p>Let the <var title="">furthest block</var> be the topmost
+     node in the <span>stack of open elements</span> that is lower in
+     the stack than the <var title="">formatting element</var>, and is
+     an element in the <span>special</span> category. There might not
+     be one.</p></li>
 
      <li><p>If there is no <var title="">furthest block</var>,
      then the UA must skip the subsequent steps and instead just
@@ -94369,12 +94364,13 @@
      <li><p>Initialize <var title="">node</var> to be the <span>current
      node</span> (the bottommost node of the stack).</p></li>
 
-     <li><p>If <var title="">node</var> has the same tag name as
-     the token, then:</p>
+     <li><p><i>Loop</i>: If <var title="">node</var> has the same tag
+     name as the token, then:</p>
 
       <ol>
 
-       <li><p><span>Generate implied end tags</span>.</p></li>
+       <li><p><span>Generate implied end tags</span>, except
+       for elements with the same tag name as the token.</p></li>
 
        <li><p>If the tag name of the end tag token does not match
        the tag name of the <span>current node</span>, this is a
@@ -94388,15 +94384,14 @@
 
      </li>
 
-     <li><p>Otherwise, if <var title="">node</var> is in neither the
-     <span>formatting</span> category nor the <span>ordinary</span>
-     category, then this is a <span>parse error</span>; ignore the
-     token, and abort these steps.</p></li>
+     <li><p>Otherwise, if <var title="">node</var> is in the
+     <span>special</span> category, then this is a <span>parse
+     error</span>; ignore the token, and abort these steps.</p></li>
 
      <li><p>Set <var title="">node</var> to the previous entry in the
      <span>stack of open elements</span>.</p></li>
 
-     <li><p>Return to step 2.</p></li>
+     <li><p>Return to the step labeld <i>loop</i>.</p></li>
 
     </ol>
 




More information about the Commit-Watchers mailing list