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

Understanding eval-when-compile #13

Open
sergeyklay opened this issue Apr 29, 2020 · 1 comment
Open

Understanding eval-when-compile #13

sergeyklay opened this issue Apr 29, 2020 · 1 comment

Comments

@sergeyklay
Copy link
Contributor

Hello,

I'd like to suggest cover eval-when-compile subject in terms of package development. Some topics are bellow:

  • When a developer should use eval-when-compile despite the fact that at first glance everything works w/o eval-when-compile. I.e. some guidance and best practices
  • eval-when-compile and tests. How it affects and helps. When this may leads to unexpected behavior. Please provide some examples
  • Is the presence in a package defsubst, defmacro define-inline the reason to use eval-when-compile? Describe why.
  • Provide please some anti-patterns or bad practices. When a developer shouldn't use eval-when-compile even this works
  • eval-when-compile, autoloading, package building and distributing. How is this related?
  • eval-and-compile, eval-when-compile, with-eval-after-load

Thank you

@alphapapa
Copy link
Owner

That's quite a list. How much of my final grade is this paper worth? :)

This topic is at the edge of my understanding. See https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg00425.html. As I mentioned there, I think the Elisp manual's coverage of this topic should be improved, so I'd suggest filing an official bug report about that.

Beyond that, if you are willing to do the research, I'll be glad to publish your findings here. I publish information here as I come to understand it through my work on other projects.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants