{"action":"closed","issue":{"url":"https://api.github.com/repos/oscarlab/graphene/issues/694","repository_url":"https://api.github.com/repos/oscarlab/graphene","labels_url":"https://api.github.com/repos/oscarlab/graphene/issues/694/labels{/name}","comments_url":"https://api.github.com/repos/oscarlab/graphene/issues/694/comments","events_url":"https://api.github.com/repos/oscarlab/graphene/issues/694/events","html_url":"https://github.com/oscarlab/graphene/issues/694","id":446106550,"node_id":"MDU6SXNzdWU0NDYxMDY1NTA=","number":694,"title":"Cleanup C macros","user":{"login":"mkow","id":5244565,"node_id":"MDQ6VXNlcjUyNDQ1NjU=","avatar_url":"https://avatars0.githubusercontent.com/u/5244565?v=4","gravatar_id":"","url":"https://api.github.com/users/mkow","html_url":"https://github.com/mkow","followers_url":"https://api.github.com/users/mkow/followers","following_url":"https://api.github.com/users/mkow/following{/other_user}","gists_url":"https://api.github.com/users/mkow/gists{/gist_id}","starred_url":"https://api.github.com/users/mkow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mkow/subscriptions","organizations_url":"https://api.github.com/users/mkow/orgs","repos_url":"https://api.github.com/users/mkow/repos","events_url":"https://api.github.com/users/mkow/events{/privacy}","received_events_url":"https://api.github.com/users/mkow/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"mkow","id":5244565,"node_id":"MDQ6VXNlcjUyNDQ1NjU=","avatar_url":"https://avatars0.githubusercontent.com/u/5244565?v=4","gravatar_id":"","url":"https://api.github.com/users/mkow","html_url":"https://github.com/mkow","followers_url":"https://api.github.com/users/mkow/followers","following_url":"https://api.github.com/users/mkow/following{/other_user}","gists_url":"https://api.github.com/users/mkow/gists{/gist_id}","starred_url":"https://api.github.com/users/mkow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mkow/subscriptions","organizations_url":"https://api.github.com/users/mkow/orgs","repos_url":"https://api.github.com/users/mkow/repos","events_url":"https://api.github.com/users/mkow/events{/privacy}","received_events_url":"https://api.github.com/users/mkow/received_events","type":"User","site_admin":false},"assignees":[{"login":"mkow","id":5244565,"node_id":"MDQ6VXNlcjUyNDQ1NjU=","avatar_url":"https://avatars0.githubusercontent.com/u/5244565?v=4","gravatar_id":"","url":"https://api.github.com/users/mkow","html_url":"https://github.com/mkow","followers_url":"https://api.github.com/users/mkow/followers","following_url":"https://api.github.com/users/mkow/following{/other_user}","gists_url":"https://api.github.com/users/mkow/gists{/gist_id}","starred_url":"https://api.github.com/users/mkow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mkow/subscriptions","organizations_url":"https://api.github.com/users/mkow/orgs","repos_url":"https://api.github.com/users/mkow/repos","events_url":"https://api.github.com/users/mkow/events{/privacy}","received_events_url":"https://api.github.com/users/mkow/received_events","type":"User","site_admin":false}],"milestone":null,"comments":0,"created_at":"2019-05-20T13:04:23Z","updated_at":"2019-05-23T20:16:19Z","closed_at":"2019-05-23T20:16:19Z","author_association":"CONTRIBUTOR","body":"We need a major clean-up of C macros, because of the following issues:\r\n* They are abused in a few places, e.g. modify control-flow (by containing `return` or `goto`).\r\n* Their names should be uppercase where possible, to distinguish them from ordinary functions (this is very important, e.g. because of a risk of double-eval of their arguments).\r\n* A lot of them should be normal functions, not macros.\r\n* Macro arguments should (almost) always be parenthesized.\r\n* Statement-like macros should be wrapped in `do { ... } while (0)`.\r\n\r\nI'll prepare a PR fixing the above in the upcoming days."}}
{"actor":{"display_login":"mkow"}}