{"action":"opened","number":242,"pull_request":{"url":"https://api.github.com/repos/tc39/ecma262/pulls/242","id":53325339,"html_url":"https://github.com/tc39/ecma262/pull/242","diff_url":"https://github.com/tc39/ecma262/pull/242.diff","patch_url":"https://github.com/tc39/ecma262/pull/242.patch","issue_url":"https://api.github.com/repos/tc39/ecma262/issues/242","number":242,"state":"open","locked":false,"title":"Layering: track execution contexts' script/module","user":{"login":"domenic","id":617481,"avatar_url":"https://avatars.githubusercontent.com/u/617481?v=3","gravatar_id":"","url":"https://api.github.com/users/domenic","html_url":"https://github.com/domenic","followers_url":"https://api.github.com/users/domenic/followers","following_url":"https://api.github.com/users/domenic/following{/other_user}","gists_url":"https://api.github.com/users/domenic/gists{/gist_id}","starred_url":"https://api.github.com/users/domenic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/domenic/subscriptions","organizations_url":"https://api.github.com/users/domenic/orgs","repos_url":"https://api.github.com/users/domenic/repos","events_url":"https://api.github.com/users/domenic/events{/privacy}","received_events_url":"https://api.github.com/users/domenic/received_events","type":"User","site_admin":false},"body":"Fixes #78. Introduces the concept of a Script Record as a counterpart to a Module Record, and adds [[HostDefined]] fields to both of them. Every execution environment now has ScriptOrModule component pointing back to its \"creator\" script or module:\r\n\r\n- Top level script/module execution contexts point to the appropriate script/module.\r\n- Function execution contexts for functions declared at top level point to that of the containing script/module.\r\n- Function execution contexts for functions declared inside other functions point to that of the containing function.\r\n- Eval execution contexts point to that of their containing function.\r\n- Job execution contexts (which are largely a spec artifact) point to the script/module that originally enqueued the job.\r\n\r\nIn the course of doing this, factored out ParseScript and ScriptEvaluation abstract operations, which now better parallel modules.\r\n\r\n----\r\n\r\nI think this is pretty good but review would be appreciated, especially where I converted ScriptEvaluation from Runtime Semantics into an abstract operation. The grammar interactions aren't 100% clear to me there.","created_at":"2015-12-10T22:14:16Z","updated_at":"2015-12-10T22:14:17Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/tc39/ecma262/pulls/242/commits","review_comments_url":"https://api.github.com/repos/tc39/ecma262/pulls/242/comments","review_comment_url":"https://api.github.com/repos/tc39/ecma262/pulls/comments{/number}","comments_url":"https://api.github.com/repos/tc39/ecma262/issues/242/comments","statuses_url":"https://api.github.com/repos/tc39/ecma262/statuses/4e50c9051f490c179ececb59a578e80b334c5733","head":{"label":"domenic:track-script-module","ref":"track-script-module","sha":"4e50c9051f490c179ececb59a578e80b334c5733","user":{"login":"domenic","id":617481,"avatar_url":"https://avatars.githubusercontent.com/u/617481?v=3","gravatar_id":"","url":"https://api.github.com/users/domenic","html_url":"https://github.com/domenic","followers_url":"https://api.github.com/users/domenic/followers","following_url":"https://api.github.com/users/domenic/following{/other_user}","gists_url":"https://api.github.com/users/domenic/gists{/gist_id}","starred_url":"https://api.github.com/users/domenic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/domenic/subscriptions","organizations_url":"https://api.github.com/users/domenic/orgs","repos_url":"https://api.github.com/users/domenic/repos","events_url":"https://api.github.com/users/domenic/events{/privacy}","received_events_url":"https://api.github.com/users/domenic/received_events","type":"User","site_admin":false},"repo":{"id":23088373,"name":"ecma262","full_name":"domenic/ecma262","owner":{"login":"domenic","id":617481,"avatar_url":"https://avatars.githubusercontent.com/u/617481?v=3","gravatar_id":"","url":"https://api.github.com/users/domenic","html_url":"https://github.com/domenic","followers_url":"https://api.github.com/users/domenic/followers","following_url":"https://api.github.com/users/domenic/following{/other_user}","gists_url":"https://api.github.com/users/domenic/gists{/gist_id}","starred_url":"https://api.github.com/users/domenic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/domenic/subscriptions","organizations_url":"https://api.github.com/users/domenic/orgs","repos_url":"https://api.github.com/users/domenic/repos","events_url":"https://api.github.com/users/domenic/events{/privacy}","received_events_url":"https://api.github.com/users/domenic/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/domenic/ecma262","description":"Status, process, and documents for ECMA262","fork":true,"url":"https://api.github.com/repos/domenic/ecma262","forks_url":"https://api.github.com/repos/domenic/ecma262/forks","keys_url":"https://api.github.com/repos/domenic/ecma262/keys{/key_id}","collaborators_url":"https://api.github.com/repos/domenic/ecma262/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/domenic/ecma262/teams","hooks_url":"https://api.github.com/repos/domenic/ecma262/hooks","issue_events_url":"https://api.github.com/repos/domenic/ecma262/issues/events{/number}","events_url":"https://api.github.com/repos/domenic/ecma262/events","assignees_url":"https://api.github.com/repos/domenic/ecma262/assignees{/user}","branches_url":"https://api.github.com/repos/domenic/ecma262/branches{/branch}","tags_url":"https://api.github.com/repos/domenic/ecma262/tags","blobs_url":"https://api.github.com/repos/domenic/ecma262/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/domenic/ecma262/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/domenic/ecma262/git/refs{/sha}","trees_url":"https://api.github.com/repos/domenic/ecma262/git/trees{/sha}","statuses_url":"https://api.github.com/repos/domenic/ecma262/statuses/{sha}","languages_url":"https://api.github.com/repos/domenic/ecma262/languages","stargazers_url":"https://api.github.com/repos/domenic/ecma262/stargazers","contributors_url":"https://api.github.com/repos/domenic/ecma262/contributors","subscribers_url":"https://api.github.com/repos/domenic/ecma262/subscribers","subscription_url":"https://api.github.com/repos/domenic/ecma262/subscription","commits_url":"https://api.github.com/repos/domenic/ecma262/commits{/sha}","git_commits_url":"https://api.github.com/repos/domenic/ecma262/git/commits{/sha}","comments_url":"https://api.github.com/repos/domenic/ecma262/comments{/number}","issue_comment_url":"https://api.github.com/repos/domenic/ecma262/issues/comments{/number}","contents_url":"https://api.github.com/repos/domenic/ecma262/contents/{+path}","compare_url":"https://api.github.com/repos/domenic/ecma262/compare/{base}...{head}","merges_url":"https://api.github.com/repos/domenic/ecma262/merges","archive_url":"https://api.github.com/repos/domenic/ecma262/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/domenic/ecma262/downloads","issues_url":"https://api.github.com/repos/domenic/ecma262/issues{/number}","pulls_url":"https://api.github.com/repos/domenic/ecma262/pulls{/number}","milestones_url":"https://api.github.com/repos/domenic/ecma262/milestones{/number}","notifications_url":"https://api.github.com/repos/domenic/ecma262/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/domenic/ecma262/labels{/name}","releases_url":"https://api.github.com/repos/domenic/ecma262/releases{/id}","created_at":"2014-08-18T22:16:27Z","updated_at":"2014-08-18T22:17:43Z","pushed_at":"2015-12-10T22:13:21Z","git_url":"git://github.com/domenic/ecma262.git","ssh_url":"git@github.com:domenic/ecma262.git","clone_url":"https://github.com/domenic/ecma262.git","svn_url":"https://github.com/domenic/ecma262","homepage":"","size":2764,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"tc39:master","ref":"master","sha":"b8f06ea3fcefe1a29fa263833d3fab3e9784f8e6","user":{"login":"tc39","id":1725583,"avatar_url":"https://avatars.githubusercontent.com/u/1725583?v=3","gravatar_id":"","url":"https://api.github.com/users/tc39","html_url":"https://github.com/tc39","followers_url":"https://api.github.com/users/tc39/followers","following_url":"https://api.github.com/users/tc39/following{/other_user}","gists_url":"https://api.github.com/users/tc39/gists{/gist_id}","starred_url":"https://api.github.com/users/tc39/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tc39/subscriptions","organizations_url":"https://api.github.com/users/tc39/orgs","repos_url":"https://api.github.com/users/tc39/repos","events_url":"https://api.github.com/users/tc39/events{/privacy}","received_events_url":"https://api.github.com/users/tc39/received_events","type":"Organization","site_admin":false},"repo":{"id":18609427,"name":"ecma262","full_name":"tc39/ecma262","owner":{"login":"tc39","id":1725583,"avatar_url":"https://avatars.githubusercontent.com/u/1725583?v=3","gravatar_id":"","url":"https://api.github.com/users/tc39","html_url":"https://github.com/tc39","followers_url":"https://api.github.com/users/tc39/followers","following_url":"https://api.github.com/users/tc39/following{/other_user}","gists_url":"https://api.github.com/users/tc39/gists{/gist_id}","starred_url":"https://api.github.com/users/tc39/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tc39/subscriptions","organizations_url":"https://api.github.com/users/tc39/orgs","repos_url":"https://api.github.com/users/tc39/repos","events_url":"https://api.github.com/users/tc39/events{/privacy}","received_events_url":"https://api.github.com/users/tc39/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/tc39/ecma262","description":"Status, process, and documents for ECMA262","fork":false,"url":"https://api.github.com/repos/tc39/ecma262","forks_url":"https://api.github.com/repos/tc39/ecma262/forks","keys_url":"https://api.github.com/repos/tc39/ecma262/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tc39/ecma262/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tc39/ecma262/teams","hooks_url":"https://api.github.com/repos/tc39/ecma262/hooks","issue_events_url":"https://api.github.com/repos/tc39/ecma262/issues/events{/number}","events_url":"https://api.github.com/repos/tc39/ecma262/events","assignees_url":"https://api.github.com/repos/tc39/ecma262/assignees{/user}","branches_url":"https://api.github.com/repos/tc39/ecma262/branches{/branch}","tags_url":"https://api.github.com/repos/tc39/ecma262/tags","blobs_url":"https://api.github.com/repos/tc39/ecma262/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tc39/ecma262/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tc39/ecma262/git/refs{/sha}","trees_url":"https://api.github.com/repos/tc39/ecma262/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tc39/ecma262/statuses/{sha}","languages_url":"https://api.github.com/repos/tc39/ecma262/languages","stargazers_url":"https://api.github.com/repos/tc39/ecma262/stargazers","contributors_url":"https://api.github.com/repos/tc39/ecma262/contributors","subscribers_url":"https://api.github.com/repos/tc39/ecma262/subscribers","subscription_url":"https://api.github.com/repos/tc39/ecma262/subscription","commits_url":"https://api.github.com/repos/tc39/ecma262/commits{/sha}","git_commits_url":"https://api.github.com/repos/tc39/ecma262/git/commits{/sha}","comments_url":"https://api.github.com/repos/tc39/ecma262/comments{/number}","issue_comment_url":"https://api.github.com/repos/tc39/ecma262/issues/comments{/number}","contents_url":"https://api.github.com/repos/tc39/ecma262/contents/{+path}","compare_url":"https://api.github.com/repos/tc39/ecma262/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tc39/ecma262/merges","archive_url":"https://api.github.com/repos/tc39/ecma262/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tc39/ecma262/downloads","issues_url":"https://api.github.com/repos/tc39/ecma262/issues{/number}","pulls_url":"https://api.github.com/repos/tc39/ecma262/pulls{/number}","milestones_url":"https://api.github.com/repos/tc39/ecma262/milestones{/number}","notifications_url":"https://api.github.com/repos/tc39/ecma262/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tc39/ecma262/labels{/name}","releases_url":"https://api.github.com/repos/tc39/ecma262/releases{/id}","created_at":"2014-04-09T19:04:33Z","updated_at":"2015-12-10T19:46:13Z","pushed_at":"2015-12-10T22:10:28Z","git_url":"git://github.com/tc39/ecma262.git","ssh_url":"git@github.com:tc39/ecma262.git","clone_url":"https://github.com/tc39/ecma262.git","svn_url":"https://github.com/tc39/ecma262","homepage":"https://tc39.github.io/ecma262/","size":4810,"stargazers_count":1617,"watchers_count":1617,"language":"HTML","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":90,"mirror_url":null,"open_issues_count":23,"forks":90,"open_issues":23,"watchers":1617,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/tc39/ecma262/pulls/242"},"html":{"href":"https://github.com/tc39/ecma262/pull/242"},"issue":{"href":"https://api.github.com/repos/tc39/ecma262/issues/242"},"comments":{"href":"https://api.github.com/repos/tc39/ecma262/issues/242/comments"},"review_comments":{"href":"https://api.github.com/repos/tc39/ecma262/pulls/242/comments"},"review_comment":{"href":"https://api.github.com/repos/tc39/ecma262/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/tc39/ecma262/pulls/242/commits"},"statuses":{"href":"https://api.github.com/repos/tc39/ecma262/statuses/4e50c9051f490c179ececb59a578e80b334c5733"}},"merged":false,"mergeable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"commits":1,"additions":173,"deletions":37,"changed_files":1}}