{"action":"created","issue":{"url":"https://api.github.com/repos/svaarala/duktape/issues/286","labels_url":"https://api.github.com/repos/svaarala/duktape/issues/286/labels{/name}","comments_url":"https://api.github.com/repos/svaarala/duktape/issues/286/comments","events_url":"https://api.github.com/repos/svaarala/duktape/issues/286/events","html_url":"https://github.com/svaarala/duktape/pull/286","id":102066637,"number":286,"title":"Implement debugger halt-on-throw","user":{"login":"fatcerberus","id":4097841,"avatar_url":"https://avatars.githubusercontent.com/u/4097841?v=3","gravatar_id":"","url":"https://api.github.com/users/fatcerberus","html_url":"https://github.com/fatcerberus","followers_url":"https://api.github.com/users/fatcerberus/followers","following_url":"https://api.github.com/users/fatcerberus/following{/other_user}","gists_url":"https://api.github.com/users/fatcerberus/gists{/gist_id}","starred_url":"https://api.github.com/users/fatcerberus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fatcerberus/subscriptions","organizations_url":"https://api.github.com/users/fatcerberus/orgs","repos_url":"https://api.github.com/users/fatcerberus/repos","events_url":"https://api.github.com/users/fatcerberus/events{/privacy}","received_events_url":"https://api.github.com/users/fatcerberus/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":59,"created_at":"2015-08-20T05:38:00Z","updated_at":"2015-08-30T00:19:32Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/svaarala/duktape/pulls/286","html_url":"https://github.com/svaarala/duktape/pull/286","diff_url":"https://github.com/svaarala/duktape/pull/286.diff","patch_url":"https://github.com/svaarala/duktape/pull/286.patch"},"body":"This includes the following concrete changes:\r\n\r\nWhen an uncatchable error is thrown with the debugger attached, execution is paused during longjmp setup as if a breakpoint was hit.  When the client resumes execution, the longjmp is performed, unwinding the stack.\r\n\r\nA Throw notification type has been added to the debugger protocol.  Any time an error is thrown, the following will be sent to the client:\r\n\r\n`NFY 5 <int: 0 caught/1 uncaught> <msg> <filename> <funcname> <line> <pc> EOM`\r\n\r\nWhere `msg` is the string-coerced value being thrown.\r\n\r\nThe changes are well-commented.  No tests are included as I wasn't sure how to go about writing one for this."},"comment":{"url":"https://api.github.com/repos/svaarala/duktape/issues/comments/136065290","html_url":"https://github.com/svaarala/duktape/pull/286#issuecomment-136065290","issue_url":"https://api.github.com/repos/svaarala/duktape/issues/286","id":136065290,"user":{"login":"fatcerberus","id":4097841,"avatar_url":"https://avatars.githubusercontent.com/u/4097841?v=3","gravatar_id":"","url":"https://api.github.com/users/fatcerberus","html_url":"https://github.com/fatcerberus","followers_url":"https://api.github.com/users/fatcerberus/followers","following_url":"https://api.github.com/users/fatcerberus/following{/other_user}","gists_url":"https://api.github.com/users/fatcerberus/gists{/gist_id}","starred_url":"https://api.github.com/users/fatcerberus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fatcerberus/subscriptions","organizations_url":"https://api.github.com/users/fatcerberus/orgs","repos_url":"https://api.github.com/users/fatcerberus/repos","events_url":"https://api.github.com/users/fatcerberus/events{/privacy}","received_events_url":"https://api.github.com/users/fatcerberus/received_events","type":"User","site_admin":false},"created_at":"2015-08-30T00:19:32Z","updated_at":"2015-08-30T00:19:32Z","body":"Oh, yeah, I'm fine with that too.  Unlike most developers I don't subscribe to the idea that goto is inherently \"evil\", in fact I think Duktape employs it very deftly.\r\n\r\nStill a helper function might not be a bad idea anyway."}}