Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate org-gcal to aio #160

Open
wants to merge 42 commits into
base: master
Choose a base branch
from
Open

Migrate org-gcal to aio #160

wants to merge 42 commits into from

Conversation

telotortium
Copy link
Collaborator

Fix #159

@telotortium telotortium changed the title WIP: migrate org-gcal to aio Migrate org-gcal to aio Aug 16, 2021
@rhaps0dy
Copy link

Hope it's OK to ask but, what's stopping you from removing the duplicate function names and merging this into master? Any remaining bugs to squash?

@telotortium
Copy link
Collaborator Author

telotortium commented Jan 30, 2022 via email

@telotortium
Copy link
Collaborator Author

telotortium commented Mar 3, 2022 via email

There are still some bugs I need to work out.
This requires listening for the `aio-cancel` signal in an `aio-listen`
callback and calling `request-abort`.
Upstream:
https://github.com/telotortium/emacs-aio-iter2/blob/5b0a9f81ed5bddc60f252b4f46924887190d91af/aio-iter2.el

Otherwise, MELPA will fail to load this file. I'm done with development
of aio-iter2, I'm pretty sure.
`org-gcal-test--post-at-point-aio-basic` mostly works as intended, except
that the `let` bindings don't function as intended - not sure why.
It appears that this keyword doesn't work for this.
I don't know if there's a way to make it work, or I'll
just need to write a wrapper interactive function around the
AIO functions.
Follow [Multi-file
Packages](https://www.gnu.org/software/emacs/manual/html_node/elisp/Multi_002dfile-Packages.html)
in Emacs Lisp Manual, inspired by
[magit-pkg.el](https://github.com/magit/magit/blob/b32521d5432b5fbc33a2e47b72f2258bf98cb8b4/lisp/magit-pkg.el).

Needed because Cask wasn't picking up the `iter2` dependency of
`aio-iter2` - this is an indirect dependency of `org-gcal.el`, but
wasn't included in the `Package-Requires` line before. Since we use
multiple Emacs Lisp files, it's best to acknowledge that explicitly.
This won't be directly used, but I'd like to break out this file
into a separate package someday.
Figured out right way to do it.
- Allow testing only a subset of tests using `TEST_PATTERN`.
- It appears some tests occasionally fail if run all in the same Emacs,
  but work if they are run separately. So, if I find failed tests, I
  rerun each failing test individually to see which ones actually fail.
Useful for writing test servers to test code using a real HTTP server
instead of mocks.
Will be needed for main code and tests.
Now it seems like this work interactively, and working on tests.
Ensure package remains clean with respect to checkdoc.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Move from deferred.el to another asynchronous execution framework
2 participants