{"action":"created","comment":{"url":"https://api.github.com/repos/whatwg/html/pulls/comments/118066576","pull_request_review_id":39825282,"id":118066576,"diff_hunk":"@@ -99960,6 +99943,430 @@ dictionary <dfn>StorageEventInit</dfn> : <span>EventInit</span> {\n \n   <div w-nodev>\n \n+  <h4><dfn data-x=\"parse error\">Parse errors</dfn></h4>\n+\n+  <p>This specification defines the parsing rules for HTML documents, whether they are syntactically\n+  correct or not. Certain points in the parsing algorithm are said to be <span data-x=\"parse\n+  error\">parse errors</span>. The error handling for parse errors is well-defined (that's the\n+  processing rules described throughout this specification), but user agents, while parsing an HTML\n+  document, may <span data-x=\"abort a parser\">abort the parser</span> at the first <span>parse\n+  error</span> that they encounter for which they do not wish to apply the rules described in this\n+  specification.</p>\n+\n+  <p>Conformance checkers must report at least one parse error condition to the user if one or more\n+  parse error conditions exist in the document and must not report parse error conditions if none\n+  exist in the document. Conformance checkers may report more than one parse error condition if more\n+  than one parse error condition exists in the document.</p>\n+\n+  <p class=\"note\">Parse errors are only errors with the <em>syntax</em> of HTML. In addition to\n+  checking for parse errors, conformance checkers will also verify that the document obeys all the\n+  other conformance requirements described in this specification.</p>\n+\n+  <p>Some parse errors have dedicated codes outlined in the table below that should be used by\n+  conformance checkers in reports.</p>\n+\n+  <p><i>Error descriptions in the table below are non-normative.</i></p>\n+\n+  <table>\n+   <thead>\n+    <tr>\n+      <th>Code\n+      <th>Description\n+    <tbody>\n+    <tr>\n+      <td>\n+      <dfn data-x=\"parse-error-non-unicode-character-in-input-stream\">non-unicode-character-in-input-stream</dfn>\n+      <td><p>This error occurs if the <span>input stream</span> contains a character that is not a\n+      Unicode character, i.e. isolated <span data-x=\"surrogate\">surrogate</span>. Such characters\n+      are parsed as is and usually, where grammar doesn't apply any additional character\n+      restrictions, make their way into the DOM.</p>\n+\n+      <p class=\"note\">Isolated surrogates can only find their way into the input stream via script\n+      APIs such as <code data-x=\"dom-document-write\">document.write()</code>.</p>\n+    <tr>\n+      <td>\n+      <dfn data-x=\"parse-error-undefined-character-in-input-stream\">undefined-character-in-input-stream</dfn>\n+      <td><p>This error occurs if the <span>input stream</span> contains a character that is a\n+      permanently undefined Unicode character. Such characters are parsed as is and usually, where\n+      grammar doesn't apply any additional character restrictions, make their way into the DOM.</p>\n+    <tr>\n+      <td>\n+      <dfn data-x=\"parse-error-control-character-in-input-stream\">control-character-in-input-stream</dfn>\n+      <td><p>This error occurs if the <span>input stream</span> contains a Unicode <span\n+      data-x=\"control\">control</span> character that is not an <span>ASCII whitespace</span>\n+      character. Such characters are parsed as is and usually, where grammar doesn't apply any\n+      additional character restrictions, make their way into the DOM.</p>\n+    <tr>\n+      <td>\n+      <dfn data-x=\"parse-error-self-closing-non-void-html-element\">self-closing-non-void-html-element</dfn>\n+      <td><p>This error occurs if the parser encounters a self-closing <span\n+      data-x=\"syntax-start-tag\">start tag</span> for an element that is not in the list of\n+      <span>void elements</span> or is not a part of foreign content, i.e. not an SVG or MathML\n+      element. Such a start tag is treated as non-self-closing.</p>\n+\n+      <div class=\"example\">\n+\n+        <p>For example, consider the following markup:</p>\n+\n+        <pre>&lt;div/>&lt;span>&lt;/span>&lt;span>&lt;/span></pre>\n+\n+        <p>This will be parsed into:</p>\n+\n+        <ul class=\"domTree\"><li class=\"t1\"><code>html</code><ul><li class=\"t1\"><code>head</code></li><li class=\"t1\"><code>body</code><ul><li class=\"t1\"><code>div</code><ul><li class=\"t1\"><code>span</code></li><li class=\"t1\"><code>span</code></li></ul></li></ul></li></ul></li></ul>\n+\n+      </div>\n+\n+      <p class=\"note\">The HTML grammar reflects the <span data-x=\"concept-element-content-model\">content model</span>\n+      of elements so only some elements are allowed to have a self-closing start tag. This is unlike XML grammar.</p>\n+    <tr>\n+      <td>\n+      <dfn data-x=\"parse-error-end-tag-with-attributes\">end-tag-with-attributes</dfn>\n+      <td><p>This error occurs if the parser encounters an <span data-x=\"syntax-end-tag\">end\n+      tag</span> with <span data-x=\"syntax-attributes\">attributes</span>. Attributes in end tags are\n+      completely ignored and do not make their way into the DOM.</p>\n+    <tr>\n+      <td>\n+      <dfn data-x=\"parse-error-self-closing-end-tag\">self-closing-end-tag</dfn>\n+      <td><p>This error occurs if the parser encounters a self-closing <span data-x=\"syntax-end-tag\"\n+      >end tag</span> (e.g. <code data-x=\"\">&lt;/div/></code>). Such a tag is treated as a regular end\n+      tag.</p>\n+    <tr>\n+      <td>\n+      <dfn data-x=\"parse-error-unexpected-null-character\">unexpected-null-character</dfn>\n+      <td><p>This error occurs if the parser encounters a U+0000 NULL character in the <span>input\n+      stream</span> in certain positions. In general, such characters are either completely ignored\n+      or, for security reasons, replaced with a U+FFFD REPLACEMENT CHARACTER character.</p>\n+    <tr>\n+      <td>\n+      <dfn data-x=\"parse-error-start-of-processing-instruction-or-xml-declaration\">start-of-processing-instruction-or-xml-declaration</dfn>","path":"source","position":123,"original_position":123,"commit_id":"b3652afe6ae53bbfc3bf4ef5ad3ccc06023ae578","original_commit_id":"b3652afe6ae53bbfc3bf4ef5ad3ccc06023ae578","user":{"login":"zcorpan","id":244772,"avatar_url":"https://avatars1.githubusercontent.com/u/244772?v=3","gravatar_id":"","url":"https://api.github.com/users/zcorpan","html_url":"https://github.com/zcorpan","followers_url":"https://api.github.com/users/zcorpan/followers","following_url":"https://api.github.com/users/zcorpan/following{/other_user}","gists_url":"https://api.github.com/users/zcorpan/gists{/gist_id}","starred_url":"https://api.github.com/users/zcorpan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zcorpan/subscriptions","organizations_url":"https://api.github.com/users/zcorpan/orgs","repos_url":"https://api.github.com/users/zcorpan/repos","events_url":"https://api.github.com/users/zcorpan/events{/privacy}","received_events_url":"https://api.github.com/users/zcorpan/received_events","type":"User","site_admin":false},"body":"SGTM! And yes.","created_at":"2017-05-23T18:14:59Z","updated_at":"2017-05-23T18:14:59Z","html_url":"https://github.com/whatwg/html/pull/2701#discussion_r118066576","pull_request_url":"https://api.github.com/repos/whatwg/html/pulls/2701","_links":{"self":{"href":"https://api.github.com/repos/whatwg/html/pulls/comments/118066576"},"html":{"href":"https://github.com/whatwg/html/pull/2701#discussion_r118066576"},"pull_request":{"href":"https://api.github.com/repos/whatwg/html/pulls/2701"}}},"pull_request":{"url":"https://api.github.com/repos/whatwg/html/pulls/2701","id":121676038,"html_url":"https://github.com/whatwg/html/pull/2701","diff_url":"https://github.com/whatwg/html/pull/2701.diff","patch_url":"https://github.com/whatwg/html/pull/2701.patch","issue_url":"https://api.github.com/repos/whatwg/html/issues/2701","number":2701,"state":"open","locked":false,"title":"Assign unique IDs to tokenization errors (#1339 part1)","user":{"login":"inikulin","id":453071,"avatar_url":"https://avatars2.githubusercontent.com/u/453071?v=3","gravatar_id":"","url":"https://api.github.com/users/inikulin","html_url":"https://github.com/inikulin","followers_url":"https://api.github.com/users/inikulin/followers","following_url":"https://api.github.com/users/inikulin/following{/other_user}","gists_url":"https://api.github.com/users/inikulin/gists{/gist_id}","starred_url":"https://api.github.com/users/inikulin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/inikulin/subscriptions","organizations_url":"https://api.github.com/users/inikulin/orgs","repos_url":"https://api.github.com/users/inikulin/repos","events_url":"https://api.github.com/users/inikulin/events{/privacy}","received_events_url":"https://api.github.com/users/inikulin/received_events","type":"User","site_admin":false},"body":"PR for tests: https://github.com/html5lib/html5lib-tests/pull/92\r\nReference implementation: https://github.com/HTMLParseErrorWG/parse5\r\nPreview: https://htmlparseerrorwg.github.io/html-build/output/multipage/syntax.html","created_at":"2017-05-21T21:05:42Z","updated_at":"2017-05-23T18:14:59Z","closed_at":null,"merged_at":null,"merge_commit_sha":"6c89286bc2ed0797e480c46310c8db312e39f927","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/whatwg/html/pulls/2701/commits","review_comments_url":"https://api.github.com/repos/whatwg/html/pulls/2701/comments","review_comment_url":"https://api.github.com/repos/whatwg/html/pulls/comments{/number}","comments_url":"https://api.github.com/repos/whatwg/html/issues/2701/comments","statuses_url":"https://api.github.com/repos/whatwg/html/statuses/b3652afe6ae53bbfc3bf4ef5ad3ccc06023ae578","head":{"label":"HTMLParseErrorWG:to-upstream","ref":"to-upstream","sha":"b3652afe6ae53bbfc3bf4ef5ad3ccc06023ae578","user":{"login":"HTMLParseErrorWG","id":26457106,"avatar_url":"https://avatars3.githubusercontent.com/u/26457106?v=3","gravatar_id":"","url":"https://api.github.com/users/HTMLParseErrorWG","html_url":"https://github.com/HTMLParseErrorWG","followers_url":"https://api.github.com/users/HTMLParseErrorWG/followers","following_url":"https://api.github.com/users/HTMLParseErrorWG/following{/other_user}","gists_url":"https://api.github.com/users/HTMLParseErrorWG/gists{/gist_id}","starred_url":"https://api.github.com/users/HTMLParseErrorWG/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HTMLParseErrorWG/subscriptions","organizations_url":"https://api.github.com/users/HTMLParseErrorWG/orgs","repos_url":"https://api.github.com/users/HTMLParseErrorWG/repos","events_url":"https://api.github.com/users/HTMLParseErrorWG/events{/privacy}","received_events_url":"https://api.github.com/users/HTMLParseErrorWG/received_events","type":"Organization","site_admin":false},"repo":{"id":85179197,"name":"html","full_name":"HTMLParseErrorWG/html","owner":{"login":"HTMLParseErrorWG","id":26457106,"avatar_url":"https://avatars3.githubusercontent.com/u/26457106?v=3","gravatar_id":"","url":"https://api.github.com/users/HTMLParseErrorWG","html_url":"https://github.com/HTMLParseErrorWG","followers_url":"https://api.github.com/users/HTMLParseErrorWG/followers","following_url":"https://api.github.com/users/HTMLParseErrorWG/following{/other_user}","gists_url":"https://api.github.com/users/HTMLParseErrorWG/gists{/gist_id}","starred_url":"https://api.github.com/users/HTMLParseErrorWG/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HTMLParseErrorWG/subscriptions","organizations_url":"https://api.github.com/users/HTMLParseErrorWG/orgs","repos_url":"https://api.github.com/users/HTMLParseErrorWG/repos","events_url":"https://api.github.com/users/HTMLParseErrorWG/events{/privacy}","received_events_url":"https://api.github.com/users/HTMLParseErrorWG/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/HTMLParseErrorWG/html","description":"HTML Standard","fork":true,"url":"https://api.github.com/repos/HTMLParseErrorWG/html","forks_url":"https://api.github.com/repos/HTMLParseErrorWG/html/forks","keys_url":"https://api.github.com/repos/HTMLParseErrorWG/html/keys{/key_id}","collaborators_url":"https://api.github.com/repos/HTMLParseErrorWG/html/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/HTMLParseErrorWG/html/teams","hooks_url":"https://api.github.com/repos/HTMLParseErrorWG/html/hooks","issue_events_url":"https://api.github.com/repos/HTMLParseErrorWG/html/issues/events{/number}","events_url":"https://api.github.com/repos/HTMLParseErrorWG/html/events","assignees_url":"https://api.github.com/repos/HTMLParseErrorWG/html/assignees{/user}","branches_url":"https://api.github.com/repos/HTMLParseErrorWG/html/branches{/branch}","tags_url":"https://api.github.com/repos/HTMLParseErrorWG/html/tags","blobs_url":"https://api.github.com/repos/HTMLParseErrorWG/html/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/HTMLParseErrorWG/html/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/HTMLParseErrorWG/html/git/refs{/sha}","trees_url":"https://api.github.com/repos/HTMLParseErrorWG/html/git/trees{/sha}","statuses_url":"https://api.github.com/repos/HTMLParseErrorWG/html/statuses/{sha}","languages_url":"https://api.github.com/repos/HTMLParseErrorWG/html/languages","stargazers_url":"https://api.github.com/repos/HTMLParseErrorWG/html/stargazers","contributors_url":"https://api.github.com/repos/HTMLParseErrorWG/html/contributors","subscribers_url":"https://api.github.com/repos/HTMLParseErrorWG/html/subscribers","subscription_url":"https://api.github.com/repos/HTMLParseErrorWG/html/subscription","commits_url":"https://api.github.com/repos/HTMLParseErrorWG/html/commits{/sha}","git_commits_url":"https://api.github.com/repos/HTMLParseErrorWG/html/git/commits{/sha}","comments_url":"https://api.github.com/repos/HTMLParseErrorWG/html/comments{/number}","issue_comment_url":"https://api.github.com/repos/HTMLParseErrorWG/html/issues/comments{/number}","contents_url":"https://api.github.com/repos/HTMLParseErrorWG/html/contents/{+path}","compare_url":"https://api.github.com/repos/HTMLParseErrorWG/html/compare/{base}...{head}","merges_url":"https://api.github.com/repos/HTMLParseErrorWG/html/merges","archive_url":"https://api.github.com/repos/HTMLParseErrorWG/html/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/HTMLParseErrorWG/html/downloads","issues_url":"https://api.github.com/repos/HTMLParseErrorWG/html/issues{/number}","pulls_url":"https://api.github.com/repos/HTMLParseErrorWG/html/pulls{/number}","milestones_url":"https://api.github.com/repos/HTMLParseErrorWG/html/milestones{/number}","notifications_url":"https://api.github.com/repos/HTMLParseErrorWG/html/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/HTMLParseErrorWG/html/labels{/name}","releases_url":"https://api.github.com/repos/HTMLParseErrorWG/html/releases{/id}","deployments_url":"https://api.github.com/repos/HTMLParseErrorWG/html/deployments","created_at":"2017-03-16T09:45:25Z","updated_at":"2017-03-16T09:45:27Z","pushed_at":"2017-05-21T20:48:52Z","git_url":"git://github.com/HTMLParseErrorWG/html.git","ssh_url":"git@github.com:HTMLParseErrorWG/html.git","clone_url":"https://github.com/HTMLParseErrorWG/html.git","svn_url":"https://github.com/HTMLParseErrorWG/html","homepage":"https://html.spec.whatwg.org/multipage/","size":203478,"stargazers_count":0,"watchers_count":0,"language":"HTML","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":0,"forks":2,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"whatwg:master","ref":"master","sha":"caba9516453fb827dcda2c7cfd60b283fd744fc3","user":{"login":"whatwg","id":2226336,"avatar_url":"https://avatars2.githubusercontent.com/u/2226336?v=3","gravatar_id":"","url":"https://api.github.com/users/whatwg","html_url":"https://github.com/whatwg","followers_url":"https://api.github.com/users/whatwg/followers","following_url":"https://api.github.com/users/whatwg/following{/other_user}","gists_url":"https://api.github.com/users/whatwg/gists{/gist_id}","starred_url":"https://api.github.com/users/whatwg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/whatwg/subscriptions","organizations_url":"https://api.github.com/users/whatwg/orgs","repos_url":"https://api.github.com/users/whatwg/repos","events_url":"https://api.github.com/users/whatwg/events{/privacy}","received_events_url":"https://api.github.com/users/whatwg/received_events","type":"Organization","site_admin":false},"repo":{"id":11969507,"name":"html","full_name":"whatwg/html","owner":{"login":"whatwg","id":2226336,"avatar_url":"https://avatars2.githubusercontent.com/u/2226336?v=3","gravatar_id":"","url":"https://api.github.com/users/whatwg","html_url":"https://github.com/whatwg","followers_url":"https://api.github.com/users/whatwg/followers","following_url":"https://api.github.com/users/whatwg/following{/other_user}","gists_url":"https://api.github.com/users/whatwg/gists{/gist_id}","starred_url":"https://api.github.com/users/whatwg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/whatwg/subscriptions","organizations_url":"https://api.github.com/users/whatwg/orgs","repos_url":"https://api.github.com/users/whatwg/repos","events_url":"https://api.github.com/users/whatwg/events{/privacy}","received_events_url":"https://api.github.com/users/whatwg/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/whatwg/html","description":"HTML Standard","fork":false,"url":"https://api.github.com/repos/whatwg/html","forks_url":"https://api.github.com/repos/whatwg/html/forks","keys_url":"https://api.github.com/repos/whatwg/html/keys{/key_id}","collaborators_url":"https://api.github.com/repos/whatwg/html/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/whatwg/html/teams","hooks_url":"https://api.github.com/repos/whatwg/html/hooks","issue_events_url":"https://api.github.com/repos/whatwg/html/issues/events{/number}","events_url":"https://api.github.com/repos/whatwg/html/events","assignees_url":"https://api.github.com/repos/whatwg/html/assignees{/user}","branches_url":"https://api.github.com/repos/whatwg/html/branches{/branch}","tags_url":"https://api.github.com/repos/whatwg/html/tags","blobs_url":"https://api.github.com/repos/whatwg/html/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/whatwg/html/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/whatwg/html/git/refs{/sha}","trees_url":"https://api.github.com/repos/whatwg/html/git/trees{/sha}","statuses_url":"https://api.github.com/repos/whatwg/html/statuses/{sha}","languages_url":"https://api.github.com/repos/whatwg/html/languages","stargazers_url":"https://api.github.com/repos/whatwg/html/stargazers","contributors_url":"https://api.github.com/repos/whatwg/html/contributors","subscribers_url":"https://api.github.com/repos/whatwg/html/subscribers","subscription_url":"https://api.github.com/repos/whatwg/html/subscription","commits_url":"https://api.github.com/repos/whatwg/html/commits{/sha}","git_commits_url":"https://api.github.com/repos/whatwg/html/git/commits{/sha}","comments_url":"https://api.github.com/repos/whatwg/html/comments{/number}","issue_comment_url":"https://api.github.com/repos/whatwg/html/issues/comments{/number}","contents_url":"https://api.github.com/repos/whatwg/html/contents/{+path}","compare_url":"https://api.github.com/repos/whatwg/html/compare/{base}...{head}","merges_url":"https://api.github.com/repos/whatwg/html/merges","archive_url":"https://api.github.com/repos/whatwg/html/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/whatwg/html/downloads","issues_url":"https://api.github.com/repos/whatwg/html/issues{/number}","pulls_url":"https://api.github.com/repos/whatwg/html/pulls{/number}","milestones_url":"https://api.github.com/repos/whatwg/html/milestones{/number}","notifications_url":"https://api.github.com/repos/whatwg/html/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/whatwg/html/labels{/name}","releases_url":"https://api.github.com/repos/whatwg/html/releases{/id}","deployments_url":"https://api.github.com/repos/whatwg/html/deployments","created_at":"2013-08-08T06:26:07Z","updated_at":"2017-05-23T01:45:34Z","pushed_at":"2017-05-22T15:41:36Z","git_url":"git://github.com/whatwg/html.git","ssh_url":"git@github.com:whatwg/html.git","clone_url":"https://github.com/whatwg/html.git","svn_url":"https://github.com/whatwg/html","homepage":"https://html.spec.whatwg.org/multipage/","size":200312,"stargazers_count":1175,"watchers_count":1175,"language":"HTML","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":377,"mirror_url":null,"open_issues_count":559,"forks":377,"open_issues":559,"watchers":1175,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/whatwg/html/pulls/2701"},"html":{"href":"https://github.com/whatwg/html/pull/2701"},"issue":{"href":"https://api.github.com/repos/whatwg/html/issues/2701"},"comments":{"href":"https://api.github.com/repos/whatwg/html/issues/2701/comments"},"review_comments":{"href":"https://api.github.com/repos/whatwg/html/pulls/2701/comments"},"review_comment":{"href":"https://api.github.com/repos/whatwg/html/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/whatwg/html/pulls/2701/commits"},"statuses":{"href":"https://api.github.com/repos/whatwg/html/statuses/b3652afe6ae53bbfc3bf4ef5ad3ccc06023ae578"}}}}
{"actor":{"display_login":"zcorpan"}}