{"action":"created","issue":{"url":"https://api.github.com/repos/livecode/livecode/issues/4260","repository_url":"https://api.github.com/repos/livecode/livecode","labels_url":"https://api.github.com/repos/livecode/livecode/issues/4260/labels{/name}","comments_url":"https://api.github.com/repos/livecode/livecode/issues/4260/comments","events_url":"https://api.github.com/repos/livecode/livecode/issues/4260/events","html_url":"https://github.com/livecode/livecode/pull/4260","id":164559431,"number":4260,"title":"Refactor AutoStringRefAs* classes","user":{"login":"peter-b","id":47528,"avatar_url":"https://avatars.githubusercontent.com/u/47528?v=3","gravatar_id":"","url":"https://api.github.com/users/peter-b","html_url":"https://github.com/peter-b","followers_url":"https://api.github.com/users/peter-b/followers","following_url":"https://api.github.com/users/peter-b/following{/other_user}","gists_url":"https://api.github.com/users/peter-b/gists{/gist_id}","starred_url":"https://api.github.com/users/peter-b/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/peter-b/subscriptions","organizations_url":"https://api.github.com/users/peter-b/orgs","repos_url":"https://api.github.com/users/peter-b/repos","events_url":"https://api.github.com/users/peter-b/events{/privacy}","received_events_url":"https://api.github.com/users/peter-b/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/livecode/livecode/labels/bug","name":"bug","color":"fc2929"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/livecode/livecode/milestones/112","html_url":"https://github.com/livecode/livecode/milestones/8.1.0-dp-3","labels_url":"https://api.github.com/repos/livecode/livecode/milestones/112/labels","id":1853208,"number":112,"title":"8.1.0-dp-3","description":null,"creator":{"login":"peter-b","id":47528,"avatar_url":"https://avatars.githubusercontent.com/u/47528?v=3","gravatar_id":"","url":"https://api.github.com/users/peter-b","html_url":"https://github.com/peter-b","followers_url":"https://api.github.com/users/peter-b/followers","following_url":"https://api.github.com/users/peter-b/following{/other_user}","gists_url":"https://api.github.com/users/peter-b/gists{/gist_id}","starred_url":"https://api.github.com/users/peter-b/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/peter-b/subscriptions","organizations_url":"https://api.github.com/users/peter-b/orgs","repos_url":"https://api.github.com/users/peter-b/repos","events_url":"https://api.github.com/users/peter-b/events{/privacy}","received_events_url":"https://api.github.com/users/peter-b/received_events","type":"User","site_admin":false},"open_issues":6,"closed_issues":35,"state":"open","created_at":"2016-06-28T16:43:59Z","updated_at":"2016-07-12T14:54:59Z","due_on":null,"closed_at":null},"comments":9,"created_at":"2016-07-08T15:46:09Z","updated_at":"2016-07-12T20:23:59Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/livecode/livecode/pulls/4260","html_url":"https://github.com/livecode/livecode/pull/4260","diff_url":"https://github.com/livecode/livecode/pull/4260.diff","patch_url":"https://github.com/livecode/livecode/pull/4260.patch"},"body":"When compiling LiveCode using GCC6, the compiler was getting very\r\nupset by several strict aliasing violations in\r\n`MCAutoStringRefAsNativeChars`.  Shutting it up was a good excuse for\r\na refactor.  Accordingly:\r\n\r\n- No strict-aliasing warnings from GCC 6\r\n- The underlying stringref is cached in an MCAutoStringRef, so no\r\n  explicit dereferencing or destruction is needed\r\n- No messing about with buffers, by using `MCStringNativeCopy()` to\r\n  obtain a nativized string without modifying the original string\r\n- `MCStringRefAsNativChars` has an API that's more compatible with the\r\n  other `MCAutoStringRefAs*` classes, including a single-operand\r\n  `Lock()`, a `Size()` method and an `operator*` implementation\r\n- `MCStringRefAsCString` is a small subclass of\r\n  `MCStringRefAsNativeChars` that dereferences as a `char *` instead\r\n  of a `char_t *`"},"comment":{"url":"https://api.github.com/repos/livecode/livecode/issues/comments/232168627","html_url":"https://github.com/livecode/livecode/pull/4260#issuecomment-232168627","issue_url":"https://api.github.com/repos/livecode/livecode/issues/4260","id":232168627,"user":{"login":"livecodeali","id":3985854,"avatar_url":"https://avatars.githubusercontent.com/u/3985854?v=3","gravatar_id":"","url":"https://api.github.com/users/livecodeali","html_url":"https://github.com/livecodeali","followers_url":"https://api.github.com/users/livecodeali/followers","following_url":"https://api.github.com/users/livecodeali/following{/other_user}","gists_url":"https://api.github.com/users/livecodeali/gists{/gist_id}","starred_url":"https://api.github.com/users/livecodeali/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/livecodeali/subscriptions","organizations_url":"https://api.github.com/users/livecodeali/orgs","repos_url":"https://api.github.com/users/livecodeali/repos","events_url":"https://api.github.com/users/livecodeali/events{/privacy}","received_events_url":"https://api.github.com/users/livecodeali/received_events","type":"User","site_admin":false},"created_at":"2016-07-12T20:23:59Z","updated_at":"2016-07-12T20:23:59Z","body":"@livecode-vulcan review ok 5f4790f"}}
{"actor":{"display_login":"livecodeali"}}