{"action":"created","comment":{"url":"https://api.github.com/repos/graalvm/truffleruby/pulls/comments/153855323","pull_request_review_id":79926668,"id":153855323,"diff_hunk":"@@ -95,8 +95,168 @@\n \n NO_ASSIGNMENT = /(?:[\\),;]|==|!=)/\n \n+NOKOGIRI_ERR_PATCH = { match: \"(void *)err,\",\n+                              replacement: \"NEW_LOCAL_REF(err),\"\n+                            }\n+NOKOGIRI_ERROR_LIST_PATCH = { match: \"(void *)error_list\",\n+                              replacement: \"NEW_LOCAL_REF(error_list)\"\n+                            }\n+\n+NOKOGIRI_ERRORS_PATCH = { match: \"(void *)errors\",\n+                              replacement: \"NEW_LOCAL_REF(errors)\"\n+                            }\n+NOKOGIRI_ERRSTR_PATCH = { match: \"(void *)errstr\",\n+                              replacement: \"NEW_LOCAL_REF(errstr)\"\n+                            }\n+\n+NOKOGIRI_HASH_POINTER_PATCH = { match: \"(void *)hash\",\n+                              replacement: \"NEW_GLOBAL_REF(hash)\"\n+                            }\n+NOKOGIRI_XPATH_HANDLER_POINTER_PATCH = { match: \"(void *)xpath_handler\",\n+                              replacement: \"NEW_GLOBAL_REF(xpath_handler)\"\n+                            }\n+NOKOGIRI_INST_POINTER_PATCH = { match: \"(void *)inst\",\n+                              replacement: \"NEW_GLOBAL_REF(inst)\"\n+                            }\n+NOKOGIRI_IO_POINTER_PATCH = { match: \"(void *)io\",\n+                              replacement: \"NEW_GLOBAL_REF(io)\"\n+                            }\n+NOKOGIRI_RB_IO_POINTER_PATCH = { match: \"(void *)rb_io\",\n+                              replacement: \"NEW_GLOBAL_REF(rb_io)\"\n+                            }\n+NOKOGIRI_NS_POINTER_PATCH = { match: \"(void *)ns\",\n+                              replacement: \"NEW_WEAK_REF(ns)\"\n+                            }\n+NOKOGIRI_RB_NODE_POINTER_PATCH = { match: \"(void *)rb_node\",\n+                              replacement: \"NEW_WEAK_REF(rb_node)\"\n+                            }\n+NOKOGIRI_SELF_POINTER_PATCH = { match: \"(void *)self\",\n+                              replacement: \"NEW_WEAK_REF(self)\"\n+                            }\n+NOKOGIRI_FUNC_INSTANCE_POINTER_PATCH = { match: \"rb_ary_new()\",\n+                              replacement: \"NEW_GLOBAL_REF(rb_ary_new())\"\n+                            }\n+NOKOGIRI_BLOCK_PROC_POINTER_PATCH = { match: \"(void *)rb_block_proc();\",\n+                              replacement: \"NEW_LOCAL_REF(rb_block_proc());\"\n+                            }\n+\n+NOKOGIRI_TUPLE_DOC_POINTER_PATCH = { match: \"tuple->doc = rb_doc\",\n+                              replacement: \"tuple->doc = NEW_WEAK_REF(rb_doc)\"\n+                            }\n+NOKOGIRI_TUPLE_CACHE_POINTER_PATCH = { match: \"tuple->node_cache = cache\",\n+                              replacement: \"tuple->node_cache = NEW_WEAK_REF(cache)\"\n+                            }\n+\n+NOKOGIRI_CONTEXT_CAST_PATCH = { match: \"(VALUE)ctx;\",\n+                              replacement: \"GET_LOCAL_REF(ctx);\"\n+                            }\n+NOKOGIRI_CONTEXT_CAST_PATCH_2 = { match: \"(VALUE)ctx;\",\n+                              replacement: \"GET_GLOBAL_REF(ctx);\"\n+                            }\n+NOKOGIRI_CONTEXT_USERDATA_CAST_PATCH = { match: \"(VALUE)(ctx->context->userData);\",\n+                              replacement: \"GET_LOCAL_REF(ctx->context->userData);\"\n+                            }\n+NOKOGIRI_DATA_CAST_PATCH = { match: \"(VALUE)data;\",\n+                              replacement: \"GET_LOCAL_REF(data);\"\n+                            }\n+\n+NOKOGIRI_HANDLER_CAST_PATCH = { match: \"(VALUE)xsltGetExtData(transform, functionURI);\",\n+                              replacement: \"GET_GLOBAL_REF(xsltGetExtData(transform, functionURI));\"\n+                            }\n+\n+NOKOGIRI_NODE_PRIVATE_CAST_PATCH = { match: \"(VALUE)node->_private;\",\n+                              replacement: \"GET_WEAK_REF(node->_private);\"\n+                            }\n+\n+NOKOGIRI_CTX_STYLE_CAST_PATCH = { match: \"ctxt->style->_private\",\n+                              replacement: \"GET_WEAK_REF(ctxt->style->_private)\"\n+                            }\n+\n+NOKOGIRI_FUNC_INSTANCE_CAST_PATCH = { match: \"(wrapper->func_instances\",\n+                              replacement: \"(GET_GLOBAL_REF(wrapper->func_instances)\"\n+                                    }\n+\n+NOKOGIRI_XPATH_ERROR_PATCH_1 = { match: \"VALUE thing = Qnil;\",\n+                              replacement: \"VALUE thing = Qnil;\\n  VALUE errors = rb_ary_new();\"\n+                                    }\n+\n+NOKOGIRI_XPATH_ERROR_PATCH_2 = { match: \"xmlSetStructuredErrorFunc(NULL, Nokogiri_error_raise);\",\n+                              replacement: \"xmlSetStructuredErrorFunc(NEW_LOCAL_REF(errors), Nokogiri_error_array_pusher);\"\n+                                    }\n+NOKOGIRI_XPATH_ERROR_PATCH_3 = { match: \"if(xpath == NULL)\",\n+                              replacement: \"if (RARRAY_LEN(errors) > 0) { rb_exc_raise(rb_ary_entry(errors, 0)); }\\nif(xpath == NULL)\"\n+                               }\n+NOKOGIRI_WRAP_ERROR_PATCH_1 = { match: 'VALUE msg',\n+                                replacement: 'VALUE msg[1]'\n+                              }\n+NOKOGIRI_WRAP_ERROR_PATCH_2 = { match: 'msg = ',\n+                                replacement: 'msg[0] = '\n+                              }\n+NOKOGIRI_WRAP_ERROR_PATCH_3 = { match: '&msg',\n+                                replacement: 'msg'\n+                              }","path":"lib/cext/preprocess.rb","position":116,"original_position":116,"commit_id":"0f712eb85967dedeee4f0f58cc0963992052f94c","original_commit_id":"7bcf431949c5f097327cc588c9f377d6d03a13d3","user":{"login":"eregon","id":168854,"avatar_url":"https://avatars2.githubusercontent.com/u/168854?v=4","gravatar_id":"","url":"https://api.github.com/users/eregon","html_url":"https://github.com/eregon","followers_url":"https://api.github.com/users/eregon/followers","following_url":"https://api.github.com/users/eregon/following{/other_user}","gists_url":"https://api.github.com/users/eregon/gists{/gist_id}","starred_url":"https://api.github.com/users/eregon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eregon/subscriptions","organizations_url":"https://api.github.com/users/eregon/orgs","repos_url":"https://api.github.com/users/eregon/repos","events_url":"https://api.github.com/users/eregon/events{/privacy}","received_events_url":"https://api.github.com/users/eregon/received_events","type":"User","site_admin":false},"body":"The `NO_ASSIGNMENT` constant should remain last, next to `read_field`.","created_at":"2017-11-29T17:16:19Z","updated_at":"2017-11-29T17:17:34Z","html_url":"https://github.com/graalvm/truffleruby/pull/789#discussion_r153855323","pull_request_url":"https://api.github.com/repos/graalvm/truffleruby/pulls/789","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/graalvm/truffleruby/pulls/comments/153855323"},"html":{"href":"https://github.com/graalvm/truffleruby/pull/789#discussion_r153855323"},"pull_request":{"href":"https://api.github.com/repos/graalvm/truffleruby/pulls/789"}},"in_reply_to_id":153854657},"pull_request":{"url":"https://api.github.com/repos/graalvm/truffleruby/pulls/789","id":155369261,"html_url":"https://github.com/graalvm/truffleruby/pull/789","diff_url":"https://github.com/graalvm/truffleruby/pull/789.diff","patch_url":"https://github.com/graalvm/truffleruby/pull/789.patch","issue_url":"https://api.github.com/repos/graalvm/truffleruby/issues/789","number":789,"state":"open","locked":false,"title":"Nokogiri patches","user":{"login":"aardvark179","id":17862353,"avatar_url":"https://avatars1.githubusercontent.com/u/17862353?v=4","gravatar_id":"","url":"https://api.github.com/users/aardvark179","html_url":"https://github.com/aardvark179","followers_url":"https://api.github.com/users/aardvark179/followers","following_url":"https://api.github.com/users/aardvark179/following{/other_user}","gists_url":"https://api.github.com/users/aardvark179/gists{/gist_id}","starred_url":"https://api.github.com/users/aardvark179/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aardvark179/subscriptions","organizations_url":"https://api.github.com/users/aardvark179/orgs","repos_url":"https://api.github.com/users/aardvark179/repos","events_url":"https://api.github.com/users/aardvark179/events{/privacy}","received_events_url":"https://api.github.com/users/aardvark179/received_events","type":"User","site_admin":false},"body":"In combination with the `nokogiri-memory-management` fixes allow most nokogiri tests to pass and other gems requiring it to be tested.","created_at":"2017-11-29T15:21:56Z","updated_at":"2017-11-29T17:17:34Z","closed_at":null,"merged_at":null,"merge_commit_sha":"25a6ef952a6f7317b6f83fc710a9ddca6181c61d","assignee":null,"assignees":[],"requested_reviewers":[{"login":"nirvdrum","id":12584,"avatar_url":"https://avatars2.githubusercontent.com/u/12584?v=4","gravatar_id":"","url":"https://api.github.com/users/nirvdrum","html_url":"https://github.com/nirvdrum","followers_url":"https://api.github.com/users/nirvdrum/followers","following_url":"https://api.github.com/users/nirvdrum/following{/other_user}","gists_url":"https://api.github.com/users/nirvdrum/gists{/gist_id}","starred_url":"https://api.github.com/users/nirvdrum/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nirvdrum/subscriptions","organizations_url":"https://api.github.com/users/nirvdrum/orgs","repos_url":"https://api.github.com/users/nirvdrum/repos","events_url":"https://api.github.com/users/nirvdrum/events{/privacy}","received_events_url":"https://api.github.com/users/nirvdrum/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/graalvm/truffleruby/pulls/789/commits","review_comments_url":"https://api.github.com/repos/graalvm/truffleruby/pulls/789/comments","review_comment_url":"https://api.github.com/repos/graalvm/truffleruby/pulls/comments{/number}","comments_url":"https://api.github.com/repos/graalvm/truffleruby/issues/789/comments","statuses_url":"https://api.github.com/repos/graalvm/truffleruby/statuses/0f712eb85967dedeee4f0f58cc0963992052f94c","head":{"label":"graalvm:nokogiri-patch","ref":"nokogiri-patch","sha":"0f712eb85967dedeee4f0f58cc0963992052f94c","user":{"login":"graalvm","id":10176827,"avatar_url":"https://avatars3.githubusercontent.com/u/10176827?v=4","gravatar_id":"","url":"https://api.github.com/users/graalvm","html_url":"https://github.com/graalvm","followers_url":"https://api.github.com/users/graalvm/followers","following_url":"https://api.github.com/users/graalvm/following{/other_user}","gists_url":"https://api.github.com/users/graalvm/gists{/gist_id}","starred_url":"https://api.github.com/users/graalvm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/graalvm/subscriptions","organizations_url":"https://api.github.com/users/graalvm/orgs","repos_url":"https://api.github.com/users/graalvm/repos","events_url":"https://api.github.com/users/graalvm/events{/privacy}","received_events_url":"https://api.github.com/users/graalvm/received_events","type":"Organization","site_admin":false},"repo":{"id":51164398,"name":"truffleruby","full_name":"graalvm/truffleruby","owner":{"login":"graalvm","id":10176827,"avatar_url":"https://avatars3.githubusercontent.com/u/10176827?v=4","gravatar_id":"","url":"https://api.github.com/users/graalvm","html_url":"https://github.com/graalvm","followers_url":"https://api.github.com/users/graalvm/followers","following_url":"https://api.github.com/users/graalvm/following{/other_user}","gists_url":"https://api.github.com/users/graalvm/gists{/gist_id}","starred_url":"https://api.github.com/users/graalvm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/graalvm/subscriptions","organizations_url":"https://api.github.com/users/graalvm/orgs","repos_url":"https://api.github.com/users/graalvm/repos","events_url":"https://api.github.com/users/graalvm/events{/privacy}","received_events_url":"https://api.github.com/users/graalvm/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/graalvm/truffleruby","description":"A high performance implementation of the Ruby programming language. Built on the GraalVM by Oracle Labs.","fork":false,"url":"https://api.github.com/repos/graalvm/truffleruby","forks_url":"https://api.github.com/repos/graalvm/truffleruby/forks","keys_url":"https://api.github.com/repos/graalvm/truffleruby/keys{/key_id}","collaborators_url":"https://api.github.com/repos/graalvm/truffleruby/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/graalvm/truffleruby/teams","hooks_url":"https://api.github.com/repos/graalvm/truffleruby/hooks","issue_events_url":"https://api.github.com/repos/graalvm/truffleruby/issues/events{/number}","events_url":"https://api.github.com/repos/graalvm/truffleruby/events","assignees_url":"https://api.github.com/repos/graalvm/truffleruby/assignees{/user}","branches_url":"https://api.github.com/repos/graalvm/truffleruby/branches{/branch}","tags_url":"https://api.github.com/repos/graalvm/truffleruby/tags","blobs_url":"https://api.github.com/repos/graalvm/truffleruby/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/graalvm/truffleruby/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/graalvm/truffleruby/git/refs{/sha}","trees_url":"https://api.github.com/repos/graalvm/truffleruby/git/trees{/sha}","statuses_url":"https://api.github.com/repos/graalvm/truffleruby/statuses/{sha}","languages_url":"https://api.github.com/repos/graalvm/truffleruby/languages","stargazers_url":"https://api.github.com/repos/graalvm/truffleruby/stargazers","contributors_url":"https://api.github.com/repos/graalvm/truffleruby/contributors","subscribers_url":"https://api.github.com/repos/graalvm/truffleruby/subscribers","subscription_url":"https://api.github.com/repos/graalvm/truffleruby/subscription","commits_url":"https://api.github.com/repos/graalvm/truffleruby/commits{/sha}","git_commits_url":"https://api.github.com/repos/graalvm/truffleruby/git/commits{/sha}","comments_url":"https://api.github.com/repos/graalvm/truffleruby/comments{/number}","issue_comment_url":"https://api.github.com/repos/graalvm/truffleruby/issues/comments{/number}","contents_url":"https://api.github.com/repos/graalvm/truffleruby/contents/{+path}","compare_url":"https://api.github.com/repos/graalvm/truffleruby/compare/{base}...{head}","merges_url":"https://api.github.com/repos/graalvm/truffleruby/merges","archive_url":"https://api.github.com/repos/graalvm/truffleruby/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/graalvm/truffleruby/downloads","issues_url":"https://api.github.com/repos/graalvm/truffleruby/issues{/number}","pulls_url":"https://api.github.com/repos/graalvm/truffleruby/pulls{/number}","milestones_url":"https://api.github.com/repos/graalvm/truffleruby/milestones{/number}","notifications_url":"https://api.github.com/repos/graalvm/truffleruby/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/graalvm/truffleruby/labels{/name}","releases_url":"https://api.github.com/repos/graalvm/truffleruby/releases{/id}","deployments_url":"https://api.github.com/repos/graalvm/truffleruby/deployments","created_at":"2016-02-05T18:03:11Z","updated_at":"2017-11-28T20:19:27Z","pushed_at":"2017-11-29T16:52:08Z","git_url":"git://github.com/graalvm/truffleruby.git","ssh_url":"git@github.com:graalvm/truffleruby.git","clone_url":"https://github.com/graalvm/truffleruby.git","svn_url":"https://github.com/graalvm/truffleruby","homepage":"","size":223081,"stargazers_count":884,"watchers_count":884,"language":"Ruby","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":36,"mirror_url":null,"archived":false,"open_issues_count":16,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":36,"open_issues":16,"watchers":884,"default_branch":"master"}},"base":{"label":"graalvm:master","ref":"master","sha":"305fdba188f493aaafd5048590b81f93b27d4898","user":{"login":"graalvm","id":10176827,"avatar_url":"https://avatars3.githubusercontent.com/u/10176827?v=4","gravatar_id":"","url":"https://api.github.com/users/graalvm","html_url":"https://github.com/graalvm","followers_url":"https://api.github.com/users/graalvm/followers","following_url":"https://api.github.com/users/graalvm/following{/other_user}","gists_url":"https://api.github.com/users/graalvm/gists{/gist_id}","starred_url":"https://api.github.com/users/graalvm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/graalvm/subscriptions","organizations_url":"https://api.github.com/users/graalvm/orgs","repos_url":"https://api.github.com/users/graalvm/repos","events_url":"https://api.github.com/users/graalvm/events{/privacy}","received_events_url":"https://api.github.com/users/graalvm/received_events","type":"Organization","site_admin":false},"repo":{"id":51164398,"name":"truffleruby","full_name":"graalvm/truffleruby","owner":{"login":"graalvm","id":10176827,"avatar_url":"https://avatars3.githubusercontent.com/u/10176827?v=4","gravatar_id":"","url":"https://api.github.com/users/graalvm","html_url":"https://github.com/graalvm","followers_url":"https://api.github.com/users/graalvm/followers","following_url":"https://api.github.com/users/graalvm/following{/other_user}","gists_url":"https://api.github.com/users/graalvm/gists{/gist_id}","starred_url":"https://api.github.com/users/graalvm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/graalvm/subscriptions","organizations_url":"https://api.github.com/users/graalvm/orgs","repos_url":"https://api.github.com/users/graalvm/repos","events_url":"https://api.github.com/users/graalvm/events{/privacy}","received_events_url":"https://api.github.com/users/graalvm/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/graalvm/truffleruby","description":"A high performance implementation of the Ruby programming language. Built on the GraalVM by Oracle Labs.","fork":false,"url":"https://api.github.com/repos/graalvm/truffleruby","forks_url":"https://api.github.com/repos/graalvm/truffleruby/forks","keys_url":"https://api.github.com/repos/graalvm/truffleruby/keys{/key_id}","collaborators_url":"https://api.github.com/repos/graalvm/truffleruby/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/graalvm/truffleruby/teams","hooks_url":"https://api.github.com/repos/graalvm/truffleruby/hooks","issue_events_url":"https://api.github.com/repos/graalvm/truffleruby/issues/events{/number}","events_url":"https://api.github.com/repos/graalvm/truffleruby/events","assignees_url":"https://api.github.com/repos/graalvm/truffleruby/assignees{/user}","branches_url":"https://api.github.com/repos/graalvm/truffleruby/branches{/branch}","tags_url":"https://api.github.com/repos/graalvm/truffleruby/tags","blobs_url":"https://api.github.com/repos/graalvm/truffleruby/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/graalvm/truffleruby/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/graalvm/truffleruby/git/refs{/sha}","trees_url":"https://api.github.com/repos/graalvm/truffleruby/git/trees{/sha}","statuses_url":"https://api.github.com/repos/graalvm/truffleruby/statuses/{sha}","languages_url":"https://api.github.com/repos/graalvm/truffleruby/languages","stargazers_url":"https://api.github.com/repos/graalvm/truffleruby/stargazers","contributors_url":"https://api.github.com/repos/graalvm/truffleruby/contributors","subscribers_url":"https://api.github.com/repos/graalvm/truffleruby/subscribers","subscription_url":"https://api.github.com/repos/graalvm/truffleruby/subscription","commits_url":"https://api.github.com/repos/graalvm/truffleruby/commits{/sha}","git_commits_url":"https://api.github.com/repos/graalvm/truffleruby/git/commits{/sha}","comments_url":"https://api.github.com/repos/graalvm/truffleruby/comments{/number}","issue_comment_url":"https://api.github.com/repos/graalvm/truffleruby/issues/comments{/number}","contents_url":"https://api.github.com/repos/graalvm/truffleruby/contents/{+path}","compare_url":"https://api.github.com/repos/graalvm/truffleruby/compare/{base}...{head}","merges_url":"https://api.github.com/repos/graalvm/truffleruby/merges","archive_url":"https://api.github.com/repos/graalvm/truffleruby/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/graalvm/truffleruby/downloads","issues_url":"https://api.github.com/repos/graalvm/truffleruby/issues{/number}","pulls_url":"https://api.github.com/repos/graalvm/truffleruby/pulls{/number}","milestones_url":"https://api.github.com/repos/graalvm/truffleruby/milestones{/number}","notifications_url":"https://api.github.com/repos/graalvm/truffleruby/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/graalvm/truffleruby/labels{/name}","releases_url":"https://api.github.com/repos/graalvm/truffleruby/releases{/id}","deployments_url":"https://api.github.com/repos/graalvm/truffleruby/deployments","created_at":"2016-02-05T18:03:11Z","updated_at":"2017-11-28T20:19:27Z","pushed_at":"2017-11-29T16:52:08Z","git_url":"git://github.com/graalvm/truffleruby.git","ssh_url":"git@github.com:graalvm/truffleruby.git","clone_url":"https://github.com/graalvm/truffleruby.git","svn_url":"https://github.com/graalvm/truffleruby","homepage":"","size":223081,"stargazers_count":884,"watchers_count":884,"language":"Ruby","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":36,"mirror_url":null,"archived":false,"open_issues_count":16,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":36,"open_issues":16,"watchers":884,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/graalvm/truffleruby/pulls/789"},"html":{"href":"https://github.com/graalvm/truffleruby/pull/789"},"issue":{"href":"https://api.github.com/repos/graalvm/truffleruby/issues/789"},"comments":{"href":"https://api.github.com/repos/graalvm/truffleruby/issues/789/comments"},"review_comments":{"href":"https://api.github.com/repos/graalvm/truffleruby/pulls/789/comments"},"review_comment":{"href":"https://api.github.com/repos/graalvm/truffleruby/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/graalvm/truffleruby/pulls/789/commits"},"statuses":{"href":"https://api.github.com/repos/graalvm/truffleruby/statuses/0f712eb85967dedeee4f0f58cc0963992052f94c"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"eregon"}}