{"action":"created","comment":{"url":"https://api.github.com/repos/heycam/webidl/pulls/comments/85294607","pull_request_review_id":6017635,"id":85294607,"diff_hunk":"@@ -10331,25 +10331,27 @@ Note: Remember that interface objects for callback interfaces only exist if they\n when they do exist, they are not [=function objects=].\n \n \n-<h5 id=\"es-interface-call\">Interface object \\[[Call]] method</h5>\n+<h5 id=\"es-constructible-interfaces\" oldids=\"es-interface-call\">Constructible Interfaces</h5>\n \n-If the [=interface=] is declared with a\n-[{{Constructor}}] [=extended attribute=],\n-then the [=interface object=]\n-can be called as a function to create an object that implements that\n-interface.  Interfaces that do not have a constructor will throw\n-an exception when called as a function.\n+If the [=interface=] is declared with a [{{Constructor}}] [=extended attribute=],\n+then the [=interface object=] can be called as a constructor\n+to create an object that implements that interface.\n+Calling that interface as a function will throw an exception.\n \n-The internal \\[[Call]] method\n-of the interface object behaves as follows, assuming\n-|arg|<sub>0..|n|−1</sub> is the list\n-of argument values passed to the constructor, and |I|\n-is the [=interface=]:\n+Interfaces that do not have a constructor will throw\n+an exception when called.\n+\n+When evaluating the [=function object=] |F|,\n+which is the interface object for a given non-callback [=interface=] |I|,\n+assuming |arg|<sub>0..|n|−1</sub> as the list of argument values passed |F|,\n+and |newTarget| as the NewTarget value, the following steps must be taken:\n \n <ol class=\"algorithm\">\n     1.  If |I| was not declared with a [{{Constructor}}]\n         [=extended attribute=], then\n         <a lt=\"es throw\">throw a <emu-val>TypeError</emu-val></a>.\n+    1.  If |newTarget| is <emu-val>undefined</emu-val>, then","path":"index.bs","position":44,"original_position":44,"commit_id":"36699d8c9ed9238baa1ef6d4fdc74b94221f0a8b","original_commit_id":"8640fb704c1c60f87db84bc8592b213501574cf2","user":{"login":"tobie","id":3392,"avatar_url":"https://avatars.githubusercontent.com/u/3392?v=3","gravatar_id":"","url":"https://api.github.com/users/tobie","html_url":"https://github.com/tobie","followers_url":"https://api.github.com/users/tobie/followers","following_url":"https://api.github.com/users/tobie/following{/other_user}","gists_url":"https://api.github.com/users/tobie/gists{/gist_id}","starred_url":"https://api.github.com/users/tobie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tobie/subscriptions","organizations_url":"https://api.github.com/users/tobie/orgs","repos_url":"https://api.github.com/users/tobie/repos","events_url":"https://api.github.com/users/tobie/events{/privacy}","received_events_url":"https://api.github.com/users/tobie/received_events","type":"User","site_admin":false},"body":"Wouldn't that just turn NewTarget into a free variable though?\r\n\r\nSeems the ES spec treats it as a local variable in some place, e.g.: https://tc39.github.io/ecma262/#sec-construct","created_at":"2016-10-27T09:02:41Z","updated_at":"2016-10-27T09:02:41Z","html_url":"https://github.com/heycam/webidl/pull/205#discussion_r85294607","pull_request_url":"https://api.github.com/repos/heycam/webidl/pulls/205","_links":{"self":{"href":"https://api.github.com/repos/heycam/webidl/pulls/comments/85294607"},"html":{"href":"https://github.com/heycam/webidl/pull/205#discussion_r85294607"},"pull_request":{"href":"https://api.github.com/repos/heycam/webidl/pulls/205"}}},"pull_request":{"url":"https://api.github.com/repos/heycam/webidl/pulls/205","id":90844018,"html_url":"https://github.com/heycam/webidl/pull/205","diff_url":"https://github.com/heycam/webidl/pull/205.diff","patch_url":"https://github.com/heycam/webidl/pull/205.patch","issue_url":"https://api.github.com/repos/heycam/webidl/issues/205","number":205,"state":"open","locked":false,"title":"Throw when not calling interfaces as constructors","user":{"login":"tobie","id":3392,"avatar_url":"https://avatars.githubusercontent.com/u/3392?v=3","gravatar_id":"","url":"https://api.github.com/users/tobie","html_url":"https://github.com/tobie","followers_url":"https://api.github.com/users/tobie/followers","following_url":"https://api.github.com/users/tobie/following{/other_user}","gists_url":"https://api.github.com/users/tobie/gists{/gist_id}","starred_url":"https://api.github.com/users/tobie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tobie/subscriptions","organizations_url":"https://api.github.com/users/tobie/orgs","repos_url":"https://api.github.com/users/tobie/repos","events_url":"https://api.github.com/users/tobie/events{/privacy}","received_events_url":"https://api.github.com/users/tobie/received_events","type":"User","site_admin":false},"body":"Fixes #62.\nFixes https://www.w3.org/Bugs/Public/show_bug.cgi?id=22808.\n\n\n<!--\n    This comment and the below content is programatically generated.\n    You may add a comma-separated list of anchors you'd like a\n    direct link to below (e.g. #idl-serializers, #idl-sequence):\n    #es-constructible-interfaces\n    Don't remove this comment or modify anything below this line.\n-->\n<hr />\n[Preview](https://rawgit.com/tobie/webidl/new-target/index.html#es-constructible-interfaces) | [Diff](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fheycam.github.io%2Fwebidl%2F&doc2=https%3A%2F%2Frawgit.com%2Ftobie%2Fwebidl%2Fnew-target%2Findex.html#es-constructible-interfaces) \n<details><summary>Per Commit Preview &amp; Diffs</summary><code title=\"Throw when not calling interfaces as constructors\">8640fb7</code>: [Preview](https://cdn.rawgit.com/tobie/webidl/8640fb7/index.html#es-constructible-interfaces) | [Diff w/ Head](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fheycam.github.io%2Fwebidl%2F&doc2=https%3A%2F%2Fcdn.rawgit.com%2Ftobie%2Fwebidl%2F8640fb7%2Findex.html#es-constructible-interfaces)  _(2016-10-25 16:27)_\n<code title=\"Be more precise about when constructors throw&period;\">dfd7555</code>: [Preview](https://cdn.rawgit.com/tobie/webidl/dfd7555/index.html#es-constructible-interfaces) | [Diff w/ Head](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fheycam.github.io%2Fwebidl%2F&doc2=https%3A%2F%2Fcdn.rawgit.com%2Ftobie%2Fwebidl%2Fdfd7555%2Findex.html#es-constructible-interfaces)  | [Diff w/ Previous](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fcdn.rawgit.com%2Ftobie%2Fwebidl%2F8640fb7%2Findex.html&doc2=https%3A%2F%2Fcdn.rawgit.com%2Ftobie%2Fwebidl%2Fdfd7555%2Findex.html#es-constructible-interfaces) _(2016-10-25 23:09)_\nLatest (<code title=\"Assertions for output of constructor description&period;\">36699d8</code>): [Preview](https://cdn.rawgit.com/tobie/webidl/36699d8/index.html#es-constructible-interfaces) | [Diff w/ Head](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fheycam.github.io%2Fwebidl%2F&doc2=https%3A%2F%2Fcdn.rawgit.com%2Ftobie%2Fwebidl%2F36699d8%2Findex.html#es-constructible-interfaces)  | [Diff w/ Previous](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fcdn.rawgit.com%2Ftobie%2Fwebidl%2Fdfd7555%2Findex.html&doc2=https%3A%2F%2Fcdn.rawgit.com%2Ftobie%2Fwebidl%2F36699d8%2Findex.html#es-constructible-interfaces) _(2016-10-25 23:31)_</details>","created_at":"2016-10-25T16:29:51Z","updated_at":"2016-10-27T09:02:41Z","closed_at":null,"merged_at":null,"merge_commit_sha":"2ecc3b94b1ced75b0d087513650e8d132a38356a","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/heycam/webidl/pulls/205/commits","review_comments_url":"https://api.github.com/repos/heycam/webidl/pulls/205/comments","review_comment_url":"https://api.github.com/repos/heycam/webidl/pulls/comments{/number}","comments_url":"https://api.github.com/repos/heycam/webidl/issues/205/comments","statuses_url":"https://api.github.com/repos/heycam/webidl/statuses/36699d8c9ed9238baa1ef6d4fdc74b94221f0a8b","head":{"label":"tobie:new-target","ref":"new-target","sha":"36699d8c9ed9238baa1ef6d4fdc74b94221f0a8b","user":{"login":"tobie","id":3392,"avatar_url":"https://avatars.githubusercontent.com/u/3392?v=3","gravatar_id":"","url":"https://api.github.com/users/tobie","html_url":"https://github.com/tobie","followers_url":"https://api.github.com/users/tobie/followers","following_url":"https://api.github.com/users/tobie/following{/other_user}","gists_url":"https://api.github.com/users/tobie/gists{/gist_id}","starred_url":"https://api.github.com/users/tobie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tobie/subscriptions","organizations_url":"https://api.github.com/users/tobie/orgs","repos_url":"https://api.github.com/users/tobie/repos","events_url":"https://api.github.com/users/tobie/events{/privacy}","received_events_url":"https://api.github.com/users/tobie/received_events","type":"User","site_admin":false},"repo":{"id":60836489,"name":"webidl","full_name":"tobie/webidl","owner":{"login":"tobie","id":3392,"avatar_url":"https://avatars.githubusercontent.com/u/3392?v=3","gravatar_id":"","url":"https://api.github.com/users/tobie","html_url":"https://github.com/tobie","followers_url":"https://api.github.com/users/tobie/followers","following_url":"https://api.github.com/users/tobie/following{/other_user}","gists_url":"https://api.github.com/users/tobie/gists{/gist_id}","starred_url":"https://api.github.com/users/tobie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tobie/subscriptions","organizations_url":"https://api.github.com/users/tobie/orgs","repos_url":"https://api.github.com/users/tobie/repos","events_url":"https://api.github.com/users/tobie/events{/privacy}","received_events_url":"https://api.github.com/users/tobie/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/tobie/webidl","description":null,"fork":true,"url":"https://api.github.com/repos/tobie/webidl","forks_url":"https://api.github.com/repos/tobie/webidl/forks","keys_url":"https://api.github.com/repos/tobie/webidl/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tobie/webidl/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tobie/webidl/teams","hooks_url":"https://api.github.com/repos/tobie/webidl/hooks","issue_events_url":"https://api.github.com/repos/tobie/webidl/issues/events{/number}","events_url":"https://api.github.com/repos/tobie/webidl/events","assignees_url":"https://api.github.com/repos/tobie/webidl/assignees{/user}","branches_url":"https://api.github.com/repos/tobie/webidl/branches{/branch}","tags_url":"https://api.github.com/repos/tobie/webidl/tags","blobs_url":"https://api.github.com/repos/tobie/webidl/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tobie/webidl/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tobie/webidl/git/refs{/sha}","trees_url":"https://api.github.com/repos/tobie/webidl/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tobie/webidl/statuses/{sha}","languages_url":"https://api.github.com/repos/tobie/webidl/languages","stargazers_url":"https://api.github.com/repos/tobie/webidl/stargazers","contributors_url":"https://api.github.com/repos/tobie/webidl/contributors","subscribers_url":"https://api.github.com/repos/tobie/webidl/subscribers","subscription_url":"https://api.github.com/repos/tobie/webidl/subscription","commits_url":"https://api.github.com/repos/tobie/webidl/commits{/sha}","git_commits_url":"https://api.github.com/repos/tobie/webidl/git/commits{/sha}","comments_url":"https://api.github.com/repos/tobie/webidl/comments{/number}","issue_comment_url":"https://api.github.com/repos/tobie/webidl/issues/comments{/number}","contents_url":"https://api.github.com/repos/tobie/webidl/contents/{+path}","compare_url":"https://api.github.com/repos/tobie/webidl/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tobie/webidl/merges","archive_url":"https://api.github.com/repos/tobie/webidl/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tobie/webidl/downloads","issues_url":"https://api.github.com/repos/tobie/webidl/issues{/number}","pulls_url":"https://api.github.com/repos/tobie/webidl/pulls{/number}","milestones_url":"https://api.github.com/repos/tobie/webidl/milestones{/number}","notifications_url":"https://api.github.com/repos/tobie/webidl/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tobie/webidl/labels{/name}","releases_url":"https://api.github.com/repos/tobie/webidl/releases{/id}","deployments_url":"https://api.github.com/repos/tobie/webidl/deployments","created_at":"2016-06-10T09:16:53Z","updated_at":"2016-07-08T13:19:18Z","pushed_at":"2016-10-25T23:31:13Z","git_url":"git://github.com/tobie/webidl.git","ssh_url":"git@github.com:tobie/webidl.git","clone_url":"https://github.com/tobie/webidl.git","svn_url":"https://github.com/tobie/webidl","homepage":null,"size":23966,"stargazers_count":0,"watchers_count":0,"language":"HTML","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":3,"forks":0,"open_issues":3,"watchers":0,"default_branch":"bs-conversion-3"}},"base":{"label":"heycam:gh-pages","ref":"gh-pages","sha":"917525e5ffdeafe31f580786767b326554139499","user":{"login":"heycam","id":1484434,"avatar_url":"https://avatars.githubusercontent.com/u/1484434?v=3","gravatar_id":"","url":"https://api.github.com/users/heycam","html_url":"https://github.com/heycam","followers_url":"https://api.github.com/users/heycam/followers","following_url":"https://api.github.com/users/heycam/following{/other_user}","gists_url":"https://api.github.com/users/heycam/gists{/gist_id}","starred_url":"https://api.github.com/users/heycam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heycam/subscriptions","organizations_url":"https://api.github.com/users/heycam/orgs","repos_url":"https://api.github.com/users/heycam/repos","events_url":"https://api.github.com/users/heycam/events{/privacy}","received_events_url":"https://api.github.com/users/heycam/received_events","type":"User","site_admin":false},"repo":{"id":14131914,"name":"webidl","full_name":"heycam/webidl","owner":{"login":"heycam","id":1484434,"avatar_url":"https://avatars.githubusercontent.com/u/1484434?v=3","gravatar_id":"","url":"https://api.github.com/users/heycam","html_url":"https://github.com/heycam","followers_url":"https://api.github.com/users/heycam/followers","following_url":"https://api.github.com/users/heycam/following{/other_user}","gists_url":"https://api.github.com/users/heycam/gists{/gist_id}","starred_url":"https://api.github.com/users/heycam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heycam/subscriptions","organizations_url":"https://api.github.com/users/heycam/orgs","repos_url":"https://api.github.com/users/heycam/repos","events_url":"https://api.github.com/users/heycam/events{/privacy}","received_events_url":"https://api.github.com/users/heycam/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/heycam/webidl","description":null,"fork":false,"url":"https://api.github.com/repos/heycam/webidl","forks_url":"https://api.github.com/repos/heycam/webidl/forks","keys_url":"https://api.github.com/repos/heycam/webidl/keys{/key_id}","collaborators_url":"https://api.github.com/repos/heycam/webidl/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/heycam/webidl/teams","hooks_url":"https://api.github.com/repos/heycam/webidl/hooks","issue_events_url":"https://api.github.com/repos/heycam/webidl/issues/events{/number}","events_url":"https://api.github.com/repos/heycam/webidl/events","assignees_url":"https://api.github.com/repos/heycam/webidl/assignees{/user}","branches_url":"https://api.github.com/repos/heycam/webidl/branches{/branch}","tags_url":"https://api.github.com/repos/heycam/webidl/tags","blobs_url":"https://api.github.com/repos/heycam/webidl/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/heycam/webidl/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/heycam/webidl/git/refs{/sha}","trees_url":"https://api.github.com/repos/heycam/webidl/git/trees{/sha}","statuses_url":"https://api.github.com/repos/heycam/webidl/statuses/{sha}","languages_url":"https://api.github.com/repos/heycam/webidl/languages","stargazers_url":"https://api.github.com/repos/heycam/webidl/stargazers","contributors_url":"https://api.github.com/repos/heycam/webidl/contributors","subscribers_url":"https://api.github.com/repos/heycam/webidl/subscribers","subscription_url":"https://api.github.com/repos/heycam/webidl/subscription","commits_url":"https://api.github.com/repos/heycam/webidl/commits{/sha}","git_commits_url":"https://api.github.com/repos/heycam/webidl/git/commits{/sha}","comments_url":"https://api.github.com/repos/heycam/webidl/comments{/number}","issue_comment_url":"https://api.github.com/repos/heycam/webidl/issues/comments{/number}","contents_url":"https://api.github.com/repos/heycam/webidl/contents/{+path}","compare_url":"https://api.github.com/repos/heycam/webidl/compare/{base}...{head}","merges_url":"https://api.github.com/repos/heycam/webidl/merges","archive_url":"https://api.github.com/repos/heycam/webidl/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/heycam/webidl/downloads","issues_url":"https://api.github.com/repos/heycam/webidl/issues{/number}","pulls_url":"https://api.github.com/repos/heycam/webidl/pulls{/number}","milestones_url":"https://api.github.com/repos/heycam/webidl/milestones{/number}","notifications_url":"https://api.github.com/repos/heycam/webidl/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/heycam/webidl/labels{/name}","releases_url":"https://api.github.com/repos/heycam/webidl/releases{/id}","deployments_url":"https://api.github.com/repos/heycam/webidl/deployments","created_at":"2013-11-05T04:17:09Z","updated_at":"2016-10-22T08:37:45Z","pushed_at":"2016-10-27T07:51:45Z","git_url":"git://github.com/heycam/webidl.git","ssh_url":"git@github.com:heycam/webidl.git","clone_url":"https://github.com/heycam/webidl.git","svn_url":"https://github.com/heycam/webidl","homepage":null,"size":19279,"stargazers_count":28,"watchers_count":28,"language":"HTML","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":29,"mirror_url":null,"open_issues_count":64,"forks":29,"open_issues":64,"watchers":28,"default_branch":"gh-pages"}},"_links":{"self":{"href":"https://api.github.com/repos/heycam/webidl/pulls/205"},"html":{"href":"https://github.com/heycam/webidl/pull/205"},"issue":{"href":"https://api.github.com/repos/heycam/webidl/issues/205"},"comments":{"href":"https://api.github.com/repos/heycam/webidl/issues/205/comments"},"review_comments":{"href":"https://api.github.com/repos/heycam/webidl/pulls/205/comments"},"review_comment":{"href":"https://api.github.com/repos/heycam/webidl/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/heycam/webidl/pulls/205/commits"},"statuses":{"href":"https://api.github.com/repos/heycam/webidl/statuses/36699d8c9ed9238baa1ef6d4fdc74b94221f0a8b"}}}}
{"actor":{"display_login":"tobie"}}