GitHub PullRequestEvent at 2014-08-20 07:37:20
Repository: otp
Actor: mikpe
Payload: {"action":"opened","number":452,"pull_request":{"url":"https://api.github.com/repos/erlang/otp/pulls/452","id":20029250,"html_url":"https://github.com/erlang/otp/pull/452","diff_url":"https://github.com/erlang/otp/pull/452.diff","patch_url":"https://github.com/erlang/otp/pull/452.patch","issue_url":"https://api.github.com/repos/erlang/otp/issues/452","number":452,"state":"open","locked":false,"title":"correct conversion of MIN_SMALL numeral to fixnum","user":{"login":"mikpe","id":7581288,"avatar_url":"https://avatars.githubusercontent.com/u/7581288?v=2","gravatar_id":"6d938d4a67f8053c59ab574ed4980dbd","url":"https://api.github.com/users/mikpe","html_url":"https://github.com/mikpe","followers_url":"https://api.github.com/users/mikpe/followers","following_url":"https://api.github.com/users/mikpe/following{/other_user}","gists_url":"https://api.github.com/users/mikpe/gists{/gist_id}","starred_url":"https://api.github.com/users/mikpe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mikpe/subscriptions","organizations_url":"https://api.github.com/users/mikpe/orgs","repos_url":"https://api.github.com/users/mikpe/repos","events_url":"https://api.github.com/users/mikpe/events{/privacy}","received_events_url":"https://api.github.com/users/mikpe/received_events","type":"User","site_admin":false},"body":"Conversion of MIN_SMALL as a numeral to an Erlang integer, via binary_to_integer/1 or list_to_integer/1, succeeds but creates the integer as a negative bignum.  This is incorrect as (a) the value fits in a fixnum, and (b) the VM expects values that fit in fixnums to also be fixnums.  The bug is that the numeral is converted first as a non-negative number, and then finally negated if prefixed by a unary minus sign.  MIN_SMALL without the sign is MAX_SMALL+1, which doesn't fit in a fixnum, so the value before the negation is a bignum.  To correct the representation after the negation call big_plus_small with zero, as already done in other places.\r\n\r\nTested with the emulator testsuite on Linux/x86_64, no regressions.","created_at":"2014-08-20T07:37:20Z","updated_at":"2014-08-20T07:37:20Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/erlang/otp/pulls/452/commits","review_comments_url":"https://api.github.com/repos/erlang/otp/pulls/452/comments","review_comment_url":"https://api.github.com/repos/erlang/otp/pulls/comments/{number}","comments_url":"https://api.github.com/repos/erlang/otp/issues/452/comments","statuses_url":"https://api.github.com/repos/erlang/otp/statuses/216343987e878b5f4c8d3ad9c96f39299f379cf4","head":{"label":"mikpe:MIN_SMALL-to-integer","ref":"MIN_SMALL-to-integer","sha":"216343987e878b5f4c8d3ad9c96f39299f379cf4","user":{"login":"mikpe","id":7581288,"avatar_url":"https://avatars.githubusercontent.com/u/7581288?v=2","gravatar_id":"6d938d4a67f8053c59ab574ed4980dbd","url":"https://api.github.com/users/mikpe","html_url":"https://github.com/mikpe","followers_url":"https://api.github.com/users/mikpe/followers","following_url":"https://api.github.com/users/mikpe/following{/other_user}","gists_url":"https://api.github.com/users/mikpe/gists{/gist_id}","starred_url":"https://api.github.com/users/mikpe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mikpe/subscriptions","organizations_url":"https://api.github.com/users/mikpe/orgs","repos_url":"https://api.github.com/users/mikpe/repos","events_url":"https://api.github.com/users/mikpe/events{/privacy}","received_events_url":"https://api.github.com/users/mikpe/received_events","type":"User","site_admin":false},"repo":{"id":19780972,"name":"otp","full_name":"mikpe/otp","owner":{"login":"mikpe","id":7581288,"avatar_url":"https://avatars.githubusercontent.com/u/7581288?v=2","gravatar_id":"6d938d4a67f8053c59ab574ed4980dbd","url":"https://api.github.com/users/mikpe","html_url":"https://github.com/mikpe","followers_url":"https://api.github.com/users/mikpe/followers","following_url":"https://api.github.com/users/mikpe/following{/other_user}","gists_url":"https://api.github.com/users/mikpe/gists{/gist_id}","starred_url":"https://api.github.com/users/mikpe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mikpe/subscriptions","organizations_url":"https://api.github.com/users/mikpe/orgs","repos_url":"https://api.github.com/users/mikpe/repos","events_url":"https://api.github.com/users/mikpe/events{/privacy}","received_events_url":"https://api.github.com/users/mikpe/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mikpe/otp","description":"Erlang/OTP","fork":true,"url":"https://api.github.com/repos/mikpe/otp","forks_url":"https://api.github.com/repos/mikpe/otp/forks","keys_url":"https://api.github.com/repos/mikpe/otp/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mikpe/otp/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mikpe/otp/teams","hooks_url":"https://api.github.com/repos/mikpe/otp/hooks","issue_events_url":"https://api.github.com/repos/mikpe/otp/issues/events{/number}","events_url":"https://api.github.com/repos/mikpe/otp/events","assignees_url":"https://api.github.com/repos/mikpe/otp/assignees{/user}","branches_url":"https://api.github.com/repos/mikpe/otp/branches{/branch}","tags_url":"https://api.github.com/repos/mikpe/otp/tags","blobs_url":"https://api.github.com/repos/mikpe/otp/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mikpe/otp/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mikpe/otp/git/refs{/sha}","trees_url":"https://api.github.com/repos/mikpe/otp/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mikpe/otp/statuses/{sha}","languages_url":"https://api.github.com/repos/mikpe/otp/languages","stargazers_url":"https://api.github.com/repos/mikpe/otp/stargazers","contributors_url":"https://api.github.com/repos/mikpe/otp/contributors","subscribers_url":"https://api.github.com/repos/mikpe/otp/subscribers","subscription_url":"https://api.github.com/repos/mikpe/otp/subscription","commits_url":"https://api.github.com/repos/mikpe/otp/commits{/sha}","git_commits_url":"https://api.github.com/repos/mikpe/otp/git/commits{/sha}","comments_url":"https://api.github.com/repos/mikpe/otp/comments{/number}","issue_comment_url":"https://api.github.com/repos/mikpe/otp/issues/comments/{number}","contents_url":"https://api.github.com/repos/mikpe/otp/contents/{+path}","compare_url":"https://api.github.com/repos/mikpe/otp/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mikpe/otp/merges","archive_url":"https://api.github.com/repos/mikpe/otp/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mikpe/otp/downloads","issues_url":"https://api.github.com/repos/mikpe/otp/issues{/number}","pulls_url":"https://api.github.com/repos/mikpe/otp/pulls{/number}","milestones_url":"https://api.github.com/repos/mikpe/otp/milestones{/number}","notifications_url":"https://api.github.com/repos/mikpe/otp/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mikpe/otp/labels{/name}","releases_url":"https://api.github.com/repos/mikpe/otp/releases{/id}","created_at":"2014-05-14T13:44:54Z","updated_at":"2014-08-19T12:44:07Z","pushed_at":"2014-08-20T07:18:40Z","git_url":"git://github.com/mikpe/otp.git","ssh_url":"git@github.com:mikpe/otp.git","clone_url":"https://github.com/mikpe/otp.git","svn_url":"https://github.com/mikpe/otp","homepage":"http://erlang.org","size":110264,"stargazers_count":0,"watchers_count":0,"language":"Erlang","has_issues":false,"has_downloads":false,"has_wiki":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"maint"}},"base":{"label":"erlang:maint","ref":"maint","sha":"9de7cc7f881b5df18d0a26f7d37af164bc0c390e","user":{"login":"erlang","id":153393,"avatar_url":"https://avatars.githubusercontent.com/u/153393?v=2","gravatar_id":"ad362b896bde685c30da5569549cf531","url":"https://api.github.com/users/erlang","html_url":"https://github.com/erlang","followers_url":"https://api.github.com/users/erlang/followers","following_url":"https://api.github.com/users/erlang/following{/other_user}","gists_url":"https://api.github.com/users/erlang/gists{/gist_id}","starred_url":"https://api.github.com/users/erlang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erlang/subscriptions","organizations_url":"https://api.github.com/users/erlang/orgs","repos_url":"https://api.github.com/users/erlang/repos","events_url":"https://api.github.com/users/erlang/events{/privacy}","received_events_url":"https://api.github.com/users/erlang/received_events","type":"Organization","site_admin":false},"repo":{"id":374927,"name":"otp","full_name":"erlang/otp","owner":{"login":"erlang","id":153393,"avatar_url":"https://avatars.githubusercontent.com/u/153393?v=2","gravatar_id":"ad362b896bde685c30da5569549cf531","url":"https://api.github.com/users/erlang","html_url":"https://github.com/erlang","followers_url":"https://api.github.com/users/erlang/followers","following_url":"https://api.github.com/users/erlang/following{/other_user}","gists_url":"https://api.github.com/users/erlang/gists{/gist_id}","starred_url":"https://api.github.com/users/erlang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erlang/subscriptions","organizations_url":"https://api.github.com/users/erlang/orgs","repos_url":"https://api.github.com/users/erlang/repos","events_url":"https://api.github.com/users/erlang/events{/privacy}","received_events_url":"https://api.github.com/users/erlang/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/erlang/otp","description":"Erlang/OTP","fork":false,"url":"https://api.github.com/repos/erlang/otp","forks_url":"https://api.github.com/repos/erlang/otp/forks","keys_url":"https://api.github.com/repos/erlang/otp/keys{/key_id}","collaborators_url":"https://api.github.com/repos/erlang/otp/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/erlang/otp/teams","hooks_url":"https://api.github.com/repos/erlang/otp/hooks","issue_events_url":"https://api.github.com/repos/erlang/otp/issues/events{/number}","events_url":"https://api.github.com/repos/erlang/otp/events","assignees_url":"https://api.github.com/repos/erlang/otp/assignees{/user}","branches_url":"https://api.github.com/repos/erlang/otp/branches{/branch}","tags_url":"https://api.github.com/repos/erlang/otp/tags","blobs_url":"https://api.github.com/repos/erlang/otp/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/erlang/otp/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/erlang/otp/git/refs{/sha}","trees_url":"https://api.github.com/repos/erlang/otp/git/trees{/sha}","statuses_url":"https://api.github.com/repos/erlang/otp/statuses/{sha}","languages_url":"https://api.github.com/repos/erlang/otp/languages","stargazers_url":"https://api.github.com/repos/erlang/otp/stargazers","contributors_url":"https://api.github.com/repos/erlang/otp/contributors","subscribers_url":"https://api.github.com/repos/erlang/otp/subscribers","subscription_url":"https://api.github.com/repos/erlang/otp/subscription","commits_url":"https://api.github.com/repos/erlang/otp/commits{/sha}","git_commits_url":"https://api.github.com/repos/erlang/otp/git/commits{/sha}","comments_url":"https://api.github.com/repos/erlang/otp/comments{/number}","issue_comment_url":"https://api.github.com/repos/erlang/otp/issues/comments/{number}","contents_url":"https://api.github.com/repos/erlang/otp/contents/{+path}","compare_url":"https://api.github.com/repos/erlang/otp/compare/{base}...{head}","merges_url":"https://api.github.com/repos/erlang/otp/merges","archive_url":"https://api.github.com/repos/erlang/otp/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/erlang/otp/downloads","issues_url":"https://api.github.com/repos/erlang/otp/issues{/number}","pulls_url":"https://api.github.com/repos/erlang/otp/pulls{/number}","milestones_url":"https://api.github.com/repos/erlang/otp/milestones{/number}","notifications_url":"https://api.github.com/repos/erlang/otp/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/erlang/otp/labels{/name}","releases_url":"https://api.github.com/repos/erlang/otp/releases{/id}","created_at":"2009-11-16T17:17:57Z","updated_at":"2014-08-20T04:19:48Z","pushed_at":"2014-08-14T07:50:02Z","git_url":"git://github.com/erlang/otp.git","ssh_url":"git@github.com:erlang/otp.git","clone_url":"https://github.com/erlang/otp.git","svn_url":"https://github.com/erlang/otp","homepage":"http://erlang.org","size":182146,"stargazers_count":2715,"watchers_count":2715,"language":"Erlang","has_issues":false,"has_downloads":false,"has_wiki":true,"forks_count":854,"mirror_url":null,"open_issues_count":74,"forks":854,"open_issues":74,"watchers":2715,"default_branch":"maint"}},"_links":{"self":{"href":"https://api.github.com/repos/erlang/otp/pulls/452"},"html":{"href":"https://github.com/erlang/otp/pull/452"},"issue":{"href":"https://api.github.com/repos/erlang/otp/issues/452"},"comments":{"href":"https://api.github.com/repos/erlang/otp/issues/452/comments"},"review_comments":{"href":"https://api.github.com/repos/erlang/otp/pulls/452/comments"},"review_comment":{"href":"https://api.github.com/repos/erlang/otp/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/erlang/otp/pulls/452/commits"},"statuses":{"href":"https://api.github.com/repos/erlang/otp/statuses/216343987e878b5f4c8d3ad9c96f39299f379cf4"}},"merged":false,"mergeable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"commits":1,"additions":6,"deletions":0,"changed_files":2}}