{"action":"created","issue":{"url":"https://api.github.com/repos/melpa/melpa/issues/5297","repository_url":"https://api.github.com/repos/melpa/melpa","labels_url":"https://api.github.com/repos/melpa/melpa/issues/5297/labels{/name}","comments_url":"https://api.github.com/repos/melpa/melpa/issues/5297/comments","events_url":"https://api.github.com/repos/melpa/melpa/issues/5297/events","html_url":"https://github.com/melpa/melpa/pull/5297","id":296116579,"number":5297,"title":"Add echange package recipe","user":{"login":"kirill-gerasimenko","id":3036330,"avatar_url":"https://avatars3.githubusercontent.com/u/3036330?v=4","gravatar_id":"","url":"https://api.github.com/users/kirill-gerasimenko","html_url":"https://github.com/kirill-gerasimenko","followers_url":"https://api.github.com/users/kirill-gerasimenko/followers","following_url":"https://api.github.com/users/kirill-gerasimenko/following{/other_user}","gists_url":"https://api.github.com/users/kirill-gerasimenko/gists{/gist_id}","starred_url":"https://api.github.com/users/kirill-gerasimenko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kirill-gerasimenko/subscriptions","organizations_url":"https://api.github.com/users/kirill-gerasimenko/orgs","repos_url":"https://api.github.com/users/kirill-gerasimenko/repos","events_url":"https://api.github.com/users/kirill-gerasimenko/events{/privacy}","received_events_url":"https://api.github.com/users/kirill-gerasimenko/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-02-10T17:12:50Z","updated_at":"2018-02-18T02:23:33Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/melpa/melpa/pulls/5297","html_url":"https://github.com/melpa/melpa/pull/5297","diff_url":"https://github.com/melpa/melpa/pull/5297.diff","patch_url":"https://github.com/melpa/melpa/pull/5297.patch"},"body":"### Brief summary of what the package does\r\n\r\nPackage provides 2 useful functions:\r\n\r\n- opens email messages from MS Exchange in locally installed Outlook (or in default browser) by internet message id. Internet message id can be captured as a part of the link for org-mode\r\n- fetches and saves calendar data from MS Exchange for 2 days to make it available as part of org-mode agenda.\r\n\r\n### Direct link to the package repository\r\n\r\nhttps://github.com/kirill-gerasimenko/echange\r\n\r\n### Your association with the package\r\n\r\nI'm creator and maintainer.\r\n\r\n### Checklist\r\n\r\nPlease confirm with `x`:\r\n\r\n- [x] The package is released under a [GPL-Compatible Free Software License](https://www.gnu.org/licenses/license-list.en.html#GPLCompatibleLicenses). \r\n- [x] I've read [CONTRIBUTING.md](https://github.com/melpa/melpa/blob/master/CONTRIBUTING.md)\r\n- [x] I've used the latest version of [package-lint](https://github.com/purcell/package-lint) to check for packaging issues, and addressed its feedback\r\n- [ ] My elisp byte-compiles cleanly\r\n  I don't know how to check that, still new to Emacs and learning things. I'm willing to do that. Could you please point me to the way to do this? \r\n- [x] `M-x checkdoc` is happy with my docstrings\r\n  Except of private methods which I don't see the reason to comment now (and manual https://www.gnu.org/software/emacs/manual/html_node/elisp/Documentation-Tips.html#Documentation-Tips says that only functions and variables inteded for users aka public should have docstrings\r\n- [x] I've built and installed the package using the instructions in [CONTRIBUTING.md](https://github.com/melpa/melpa/blob/master/CONTRIBUTING.md)\r\n"},"comment":{"url":"https://api.github.com/repos/melpa/melpa/issues/comments/366487446","html_url":"https://github.com/melpa/melpa/pull/5297#issuecomment-366487446","issue_url":"https://api.github.com/repos/melpa/melpa/issues/5297","id":366487446,"user":{"login":"purcell","id":5636,"avatar_url":"https://avatars1.githubusercontent.com/u/5636?v=4","gravatar_id":"","url":"https://api.github.com/users/purcell","html_url":"https://github.com/purcell","followers_url":"https://api.github.com/users/purcell/followers","following_url":"https://api.github.com/users/purcell/following{/other_user}","gists_url":"https://api.github.com/users/purcell/gists{/gist_id}","starred_url":"https://api.github.com/users/purcell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/purcell/subscriptions","organizations_url":"https://api.github.com/users/purcell/orgs","repos_url":"https://api.github.com/users/purcell/repos","events_url":"https://api.github.com/users/purcell/events{/privacy}","received_events_url":"https://api.github.com/users/purcell/received_events","type":"User","site_admin":false},"created_at":"2018-02-18T02:23:33Z","updated_at":"2018-02-18T02:23:33Z","author_association":"OWNER","body":"Thanks for this!\r\n\r\n> My elisp byte-compiles cleanly\r\n> I don't know how to check that, still new to Emacs and learning things. I'm willing to do that. Could you please point me to the way to do this?\r\n\r\nSure - `M-x byte-compile-file`. Or just enable `flycheck` and also install `flycheck-package`.\r\n\r\nA few quick notes separately from that:\r\n- Every package dependency should be in the form `(package \"ver\")`, since the [bare symbol format](https://github.com/kirill-gerasimenko/echange/blob/353854a870df0d1a7abfd4d9568ca3de5d2310e2/src/elisp/echange.el#L10) you've used for some of these you aren't supported by all `package.el` versions.\r\n- Don't change the [global values of another package's variables](https://github.com/kirill-gerasimenko/echange/blob/353854a870df0d1a7abfd4d9568ca3de5d2310e2/src/elisp/echange.el#L43-L45) - if you need certain values, then `let`-bind them for the scope of the code that needs them.\r\n- The `defvar`s [here](https://github.com/kirill-gerasimenko/echange/blob/353854a870df0d1a7abfd4d9568ca3de5d2310e2/src/elisp/echange.el#L47) should probably be `defcustom`s instead, with a containing `defgroup`.\r\n- `lexical-let` is obsolete, and when you've got `lexical-binding: t` enabled then you can simply use `let` instead. So add `-*- lexical-binding: t -*-` at the end of the package's first header line.\r\n\r\nHope that helps!"}}
{"actor":{"display_login":"purcell"}}