{"action":"created","issue":{"url":"https://api.github.com/repos/ensime/ensime-emacs/issues/235","labels_url":"https://api.github.com/repos/ensime/ensime-emacs/issues/235/labels{/name}","comments_url":"https://api.github.com/repos/ensime/ensime-emacs/issues/235/comments","events_url":"https://api.github.com/repos/ensime/ensime-emacs/issues/235/events","html_url":"https://github.com/ensime/ensime-emacs/pull/235","id":105180066,"number":235,"title":"Replace custom when-let with dash -when-let","user":{"login":"lunaryorn","id":224922,"avatar_url":"https://avatars.githubusercontent.com/u/224922?v=3","gravatar_id":"","url":"https://api.github.com/users/lunaryorn","html_url":"https://github.com/lunaryorn","followers_url":"https://api.github.com/users/lunaryorn/followers","following_url":"https://api.github.com/users/lunaryorn/following{/other_user}","gists_url":"https://api.github.com/users/lunaryorn/gists{/gist_id}","starred_url":"https://api.github.com/users/lunaryorn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lunaryorn/subscriptions","organizations_url":"https://api.github.com/users/lunaryorn/orgs","repos_url":"https://api.github.com/users/lunaryorn/repos","events_url":"https://api.github.com/users/lunaryorn/events{/privacy}","received_events_url":"https://api.github.com/users/lunaryorn/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ensime/ensime-emacs/labels/Needs%20review","name":"Needs review","color":"eb6420"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-09-07T09:19:36Z","updated_at":"2015-09-07T10:35:03Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ensime/ensime-emacs/pulls/235","html_url":"https://github.com/ensime/ensime-emacs/pull/235","diff_url":"https://github.com/ensime/ensime-emacs/pull/235.diff","patch_url":"https://github.com/ensime/ensime-emacs/pull/235.patch"},"body":"The custom `when-let` from `ensime-macros.el` macro is incompatible with `when-let` from `subr-x.el` introduced in Emacs 25, which can cause subtle breakage if a caller expects to get the `subr-x` variant, but ends up with the one from Ensime or vice versa.  See https://github.com/Malabarba/paradox/issues/95 for an example.\r\n\r\nThis PR replaces the custom macro with `-when-let` from dash.el, which comes at no additional cost since Ensime already depends upon dash.el anyway–I wonder why `when-let` was defined anyway.\r\n\r\nBesides, a package should _never_ define unprefixed symbols, so if `when-let` needs to stay for a reason that I'm not aware of, it needs to be renamed (i.e. `ensime-when-let`)."},"comment":{"url":"https://api.github.com/repos/ensime/ensime-emacs/issues/comments/138266641","html_url":"https://github.com/ensime/ensime-emacs/pull/235#issuecomment-138266641","issue_url":"https://api.github.com/repos/ensime/ensime-emacs/issues/235","id":138266641,"user":{"login":"fommil","id":1914041,"avatar_url":"https://avatars.githubusercontent.com/u/1914041?v=3","gravatar_id":"","url":"https://api.github.com/users/fommil","html_url":"https://github.com/fommil","followers_url":"https://api.github.com/users/fommil/followers","following_url":"https://api.github.com/users/fommil/following{/other_user}","gists_url":"https://api.github.com/users/fommil/gists{/gist_id}","starred_url":"https://api.github.com/users/fommil/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fommil/subscriptions","organizations_url":"https://api.github.com/users/fommil/orgs","repos_url":"https://api.github.com/users/fommil/repos","events_url":"https://api.github.com/users/fommil/events{/privacy}","received_events_url":"https://api.github.com/users/fommil/received_events","type":"User","site_admin":false},"created_at":"2015-09-07T10:35:03Z","updated_at":"2015-09-07T10:35:03Z","body":"I was waiting for the CI to finish."}}