{"action":"created","comment":{"url":"https://api.github.com/repos/openwebwork/pg/pulls/comments/49374156","id":49374156,"diff_hunk":"@@ -137,7 +137,8 @@ sub pretty_print_tex {\n \t\t$out =~ s/_/\\\\\\_/g;   # protect tex\n \t\t$out =~ s/&/\\\\\\&/g;\n \t\t$out =~ s/\\$/\\\\\\$/g;\n-\t} elsif (\"$r_input\" =~/hash/i) {  # this will pick up objects whose '$self' is hash and so works better than ref($r_iput).\n+\t\t#FIXME -- how should mathobjects be handled??","path":"lib/PGUtil.pm","position":5,"original_position":5,"commit_id":"4e73e60978960b0bbaced1c11565889bc0b5c222","original_commit_id":"4e73e60978960b0bbaced1c11565889bc0b5c222","user":{"login":"goehle","id":1774907,"avatar_url":"https://avatars.githubusercontent.com/u/1774907?v=3","gravatar_id":"","url":"https://api.github.com/users/goehle","html_url":"https://github.com/goehle","followers_url":"https://api.github.com/users/goehle/followers","following_url":"https://api.github.com/users/goehle/following{/other_user}","gists_url":"https://api.github.com/users/goehle/gists{/gist_id}","starred_url":"https://api.github.com/users/goehle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/goehle/subscriptions","organizations_url":"https://api.github.com/users/goehle/orgs","repos_url":"https://api.github.com/users/goehle/repos","events_url":"https://api.github.com/users/goehle/events{/privacy}","received_events_url":"https://api.github.com/users/goehle/received_events","type":"User","site_admin":false},"body":"Your set `test_notnull_and_prettyprint` fails with this change.  \r\n\r\n```\r\n\r\nContext()->texStrings;\r\nBEGIN_TEXT\r\n$BR\r\nEnter pi \\{ans_rule(20)\\}\r\n$BR $BR\r\nTest ${DOLLAR}PG->pretty_print (${DOLLAR}pi->cmp, \"TeX\", level=3);\r\n$BR$BR\r\n\\{$PG->pretty_print($pi->cmp, \"TeX\", 3)\\}\r\n$BR $BR\r\nTest ${DOLLAR}PG->pretty_print (${DOLLAR}pi->cmp, \"TeX\", level=4);\r\n$BR $BR\r\n\\{$PG->pretty_print($pi->cmp, \"TeX\", 4)\\}\r\n$BR $BR\r\nTest pretty_print(${DOLLAR}pi->cmp) -- this should give current display\r\n\\{pretty_print($pi->cmp)\\}\r\nEND_TEXT\r\n```","created_at":"2016-01-11T20:30:10Z","updated_at":"2016-01-11T20:30:10Z","html_url":"https://github.com/openwebwork/pg/pull/255#discussion_r49374156","pull_request_url":"https://api.github.com/repos/openwebwork/pg/pulls/255","_links":{"self":{"href":"https://api.github.com/repos/openwebwork/pg/pulls/comments/49374156"},"html":{"href":"https://github.com/openwebwork/pg/pull/255#discussion_r49374156"},"pull_request":{"href":"https://api.github.com/repos/openwebwork/pg/pulls/255"}}},"pull_request":{"url":"https://api.github.com/repos/openwebwork/pg/pulls/255","id":51471414,"html_url":"https://github.com/openwebwork/pg/pull/255","diff_url":"https://github.com/openwebwork/pg/pull/255.diff","patch_url":"https://github.com/openwebwork/pg/pull/255.patch","issue_url":"https://api.github.com/repos/openwebwork/pg/issues/255","number":255,"state":"open","locked":false,"title":"Develop translator upd","user":{"login":"mgage","id":1203580,"avatar_url":"https://avatars.githubusercontent.com/u/1203580?v=3","gravatar_id":"","url":"https://api.github.com/users/mgage","html_url":"https://github.com/mgage","followers_url":"https://api.github.com/users/mgage/followers","following_url":"https://api.github.com/users/mgage/following{/other_user}","gists_url":"https://api.github.com/users/mgage/gists{/gist_id}","starred_url":"https://api.github.com/users/mgage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mgage/subscriptions","organizations_url":"https://api.github.com/users/mgage/orgs","repos_url":"https://api.github.com/users/mgage/repos","events_url":"https://api.github.com/users/mgage/events{/privacy}","received_events_url":"https://api.github.com/users/mgage/received_events","type":"User","site_admin":false},"body":"The main change is to how answer evaluators and answer blanks are matched up.  \r\n\r\nNow the list of answer evaluators guides the process answer subroutine and each each evaluator\r\nknows (via the PGanswergroup ) which answer blanks to evaluate.  Before the match up was done by dead reckoning and some trickery was used to allow multiple answer evaluators and matrix evaluators. Some of that trickery is still being used -- later updates may refactor some of those answer evaluator routines to be more straightforward using the facilities of the PGanswergroup and PGresponsegroup objects. \r\n\r\nThere are some minor (but important) fixes for MathObject parentheses from Davide.\r\n\r\nThere is support for debug information which can be obtained for those with admin privileges using checkBoxes defined for Problem.pm. These changes are in the develop_wwclients7 pull request for webwork2. \r\n\r\nThere is also support for a showResources checkbox which exposes the data collected by PGalias.\r\n\r\nYou should check that any resources that used alias has been listed in the resources hash and that the entries are appropriate.  The resources hash should contain information of the type of resource  it's url\r\nand/or its directory path.  Whether any conversion is needed (e.g. .gif to.png ) and whether a link is needed from it's current location (usually in the same directory as the pg file) to a public directory -- usually myClass/html .  There should be enough information so that if a library pg file with resources is moved to a local file then we can either transfer the resources as well or make links. Similarly if we export a question (or export a set containing many questions) there is enough information so that the action can also export the accompanying resource files, wrap them together.  The idea is to get seamless transport of a set in one instructors course to the course of another instructor (not necessarily at the same site.)\r\n\r\n\r\n\r\nTry to alias some things that don't exist and make sure that the error warnings are reasonable.  Alias actually checks to see if the url works -- I believe I have fixed am old  bug so that the call times out even if the url site doesn't respond.  ","created_at":"2015-11-22T18:51:39Z","updated_at":"2016-01-11T20:30:10Z","closed_at":null,"merged_at":null,"merge_commit_sha":"94d3aa9804e79d51f8b8afae725d7f72817c767c","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/openwebwork/pg/pulls/255/commits","review_comments_url":"https://api.github.com/repos/openwebwork/pg/pulls/255/comments","review_comment_url":"https://api.github.com/repos/openwebwork/pg/pulls/comments{/number}","comments_url":"https://api.github.com/repos/openwebwork/pg/issues/255/comments","statuses_url":"https://api.github.com/repos/openwebwork/pg/statuses/4e73e60978960b0bbaced1c11565889bc0b5c222","head":{"label":"mgage:develop_translator_upd","ref":"develop_translator_upd","sha":"4e73e60978960b0bbaced1c11565889bc0b5c222","user":{"login":"mgage","id":1203580,"avatar_url":"https://avatars.githubusercontent.com/u/1203580?v=3","gravatar_id":"","url":"https://api.github.com/users/mgage","html_url":"https://github.com/mgage","followers_url":"https://api.github.com/users/mgage/followers","following_url":"https://api.github.com/users/mgage/following{/other_user}","gists_url":"https://api.github.com/users/mgage/gists{/gist_id}","starred_url":"https://api.github.com/users/mgage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mgage/subscriptions","organizations_url":"https://api.github.com/users/mgage/orgs","repos_url":"https://api.github.com/users/mgage/repos","events_url":"https://api.github.com/users/mgage/events{/privacy}","received_events_url":"https://api.github.com/users/mgage/received_events","type":"User","site_admin":false},"repo":{"id":3167369,"name":"pg","full_name":"mgage/pg","owner":{"login":"mgage","id":1203580,"avatar_url":"https://avatars.githubusercontent.com/u/1203580?v=3","gravatar_id":"","url":"https://api.github.com/users/mgage","html_url":"https://github.com/mgage","followers_url":"https://api.github.com/users/mgage/followers","following_url":"https://api.github.com/users/mgage/following{/other_user}","gists_url":"https://api.github.com/users/mgage/gists{/gist_id}","starred_url":"https://api.github.com/users/mgage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mgage/subscriptions","organizations_url":"https://api.github.com/users/mgage/orgs","repos_url":"https://api.github.com/users/mgage/repos","events_url":"https://api.github.com/users/mgage/events{/privacy}","received_events_url":"https://api.github.com/users/mgage/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mgage/pg","description":"Problem rendering engine for WeBWorK","fork":true,"url":"https://api.github.com/repos/mgage/pg","forks_url":"https://api.github.com/repos/mgage/pg/forks","keys_url":"https://api.github.com/repos/mgage/pg/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mgage/pg/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mgage/pg/teams","hooks_url":"https://api.github.com/repos/mgage/pg/hooks","issue_events_url":"https://api.github.com/repos/mgage/pg/issues/events{/number}","events_url":"https://api.github.com/repos/mgage/pg/events","assignees_url":"https://api.github.com/repos/mgage/pg/assignees{/user}","branches_url":"https://api.github.com/repos/mgage/pg/branches{/branch}","tags_url":"https://api.github.com/repos/mgage/pg/tags","blobs_url":"https://api.github.com/repos/mgage/pg/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mgage/pg/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mgage/pg/git/refs{/sha}","trees_url":"https://api.github.com/repos/mgage/pg/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mgage/pg/statuses/{sha}","languages_url":"https://api.github.com/repos/mgage/pg/languages","stargazers_url":"https://api.github.com/repos/mgage/pg/stargazers","contributors_url":"https://api.github.com/repos/mgage/pg/contributors","subscribers_url":"https://api.github.com/repos/mgage/pg/subscribers","subscription_url":"https://api.github.com/repos/mgage/pg/subscription","commits_url":"https://api.github.com/repos/mgage/pg/commits{/sha}","git_commits_url":"https://api.github.com/repos/mgage/pg/git/commits{/sha}","comments_url":"https://api.github.com/repos/mgage/pg/comments{/number}","issue_comment_url":"https://api.github.com/repos/mgage/pg/issues/comments{/number}","contents_url":"https://api.github.com/repos/mgage/pg/contents/{+path}","compare_url":"https://api.github.com/repos/mgage/pg/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mgage/pg/merges","archive_url":"https://api.github.com/repos/mgage/pg/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mgage/pg/downloads","issues_url":"https://api.github.com/repos/mgage/pg/issues{/number}","pulls_url":"https://api.github.com/repos/mgage/pg/pulls{/number}","milestones_url":"https://api.github.com/repos/mgage/pg/milestones{/number}","notifications_url":"https://api.github.com/repos/mgage/pg/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mgage/pg/labels{/name}","releases_url":"https://api.github.com/repos/mgage/pg/releases{/id}","created_at":"2012-01-13T00:55:42Z","updated_at":"2014-09-09T00:26:59Z","pushed_at":"2016-01-10T04:23:55Z","git_url":"git://github.com/mgage/pg.git","ssh_url":"git@github.com:mgage/pg.git","clone_url":"https://github.com/mgage/pg.git","svn_url":"https://github.com/mgage/pg","homepage":"http://webwork.maa.org/wiki/Category:Authors","size":5634,"stargazers_count":3,"watchers_count":3,"language":"Perl","has_issues":false,"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":3,"default_branch":"master"}},"base":{"label":"openwebwork:develop","ref":"develop","sha":"6d9134a7616810f2eec0941b16a5ca370c1d3ae4","user":{"login":"openwebwork","id":1289488,"avatar_url":"https://avatars.githubusercontent.com/u/1289488?v=3","gravatar_id":"","url":"https://api.github.com/users/openwebwork","html_url":"https://github.com/openwebwork","followers_url":"https://api.github.com/users/openwebwork/followers","following_url":"https://api.github.com/users/openwebwork/following{/other_user}","gists_url":"https://api.github.com/users/openwebwork/gists{/gist_id}","starred_url":"https://api.github.com/users/openwebwork/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openwebwork/subscriptions","organizations_url":"https://api.github.com/users/openwebwork/orgs","repos_url":"https://api.github.com/users/openwebwork/repos","events_url":"https://api.github.com/users/openwebwork/events{/privacy}","received_events_url":"https://api.github.com/users/openwebwork/received_events","type":"Organization","site_admin":false},"repo":{"id":3064601,"name":"pg","full_name":"openwebwork/pg","owner":{"login":"openwebwork","id":1289488,"avatar_url":"https://avatars.githubusercontent.com/u/1289488?v=3","gravatar_id":"","url":"https://api.github.com/users/openwebwork","html_url":"https://github.com/openwebwork","followers_url":"https://api.github.com/users/openwebwork/followers","following_url":"https://api.github.com/users/openwebwork/following{/other_user}","gists_url":"https://api.github.com/users/openwebwork/gists{/gist_id}","starred_url":"https://api.github.com/users/openwebwork/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openwebwork/subscriptions","organizations_url":"https://api.github.com/users/openwebwork/orgs","repos_url":"https://api.github.com/users/openwebwork/repos","events_url":"https://api.github.com/users/openwebwork/events{/privacy}","received_events_url":"https://api.github.com/users/openwebwork/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/openwebwork/pg","description":"Problem rendering engine for WeBWorK","fork":false,"url":"https://api.github.com/repos/openwebwork/pg","forks_url":"https://api.github.com/repos/openwebwork/pg/forks","keys_url":"https://api.github.com/repos/openwebwork/pg/keys{/key_id}","collaborators_url":"https://api.github.com/repos/openwebwork/pg/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/openwebwork/pg/teams","hooks_url":"https://api.github.com/repos/openwebwork/pg/hooks","issue_events_url":"https://api.github.com/repos/openwebwork/pg/issues/events{/number}","events_url":"https://api.github.com/repos/openwebwork/pg/events","assignees_url":"https://api.github.com/repos/openwebwork/pg/assignees{/user}","branches_url":"https://api.github.com/repos/openwebwork/pg/branches{/branch}","tags_url":"https://api.github.com/repos/openwebwork/pg/tags","blobs_url":"https://api.github.com/repos/openwebwork/pg/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/openwebwork/pg/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/openwebwork/pg/git/refs{/sha}","trees_url":"https://api.github.com/repos/openwebwork/pg/git/trees{/sha}","statuses_url":"https://api.github.com/repos/openwebwork/pg/statuses/{sha}","languages_url":"https://api.github.com/repos/openwebwork/pg/languages","stargazers_url":"https://api.github.com/repos/openwebwork/pg/stargazers","contributors_url":"https://api.github.com/repos/openwebwork/pg/contributors","subscribers_url":"https://api.github.com/repos/openwebwork/pg/subscribers","subscription_url":"https://api.github.com/repos/openwebwork/pg/subscription","commits_url":"https://api.github.com/repos/openwebwork/pg/commits{/sha}","git_commits_url":"https://api.github.com/repos/openwebwork/pg/git/commits{/sha}","comments_url":"https://api.github.com/repos/openwebwork/pg/comments{/number}","issue_comment_url":"https://api.github.com/repos/openwebwork/pg/issues/comments{/number}","contents_url":"https://api.github.com/repos/openwebwork/pg/contents/{+path}","compare_url":"https://api.github.com/repos/openwebwork/pg/compare/{base}...{head}","merges_url":"https://api.github.com/repos/openwebwork/pg/merges","archive_url":"https://api.github.com/repos/openwebwork/pg/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/openwebwork/pg/downloads","issues_url":"https://api.github.com/repos/openwebwork/pg/issues{/number}","pulls_url":"https://api.github.com/repos/openwebwork/pg/pulls{/number}","milestones_url":"https://api.github.com/repos/openwebwork/pg/milestones{/number}","notifications_url":"https://api.github.com/repos/openwebwork/pg/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/openwebwork/pg/labels{/name}","releases_url":"https://api.github.com/repos/openwebwork/pg/releases{/id}","created_at":"2011-12-28T19:29:38Z","updated_at":"2015-11-05T21:36:25Z","pushed_at":"2016-01-11T19:41:50Z","git_url":"git://github.com/openwebwork/pg.git","ssh_url":"git@github.com:openwebwork/pg.git","clone_url":"https://github.com/openwebwork/pg.git","svn_url":"https://github.com/openwebwork/pg","homepage":"http://webwork.maa.org/wiki/Category:Authors","size":5776,"stargazers_count":21,"watchers_count":21,"language":"Perl","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":44,"mirror_url":null,"open_issues_count":8,"forks":44,"open_issues":8,"watchers":21,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/openwebwork/pg/pulls/255"},"html":{"href":"https://github.com/openwebwork/pg/pull/255"},"issue":{"href":"https://api.github.com/repos/openwebwork/pg/issues/255"},"comments":{"href":"https://api.github.com/repos/openwebwork/pg/issues/255/comments"},"review_comments":{"href":"https://api.github.com/repos/openwebwork/pg/pulls/255/comments"},"review_comment":{"href":"https://api.github.com/repos/openwebwork/pg/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/openwebwork/pg/pulls/255/commits"},"statuses":{"href":"https://api.github.com/repos/openwebwork/pg/statuses/4e73e60978960b0bbaced1c11565889bc0b5c222"}}}}