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

Add lazily recipe #4500

Closed
wants to merge 1 commit into from
Closed

Add lazily recipe #4500

wants to merge 1 commit into from

Conversation

justbur
Copy link
Contributor

@justbur justbur commented Jan 13, 2017

Brief summary of what the package does

lazily provides a macro to execute forms in a config file while catching any
void-variable or void-function errors. The bad forms are stored and retried
after every new load using after-load-functions.

Direct link to the package repository

https://github.com/justbur/emacs-lazily

Your association with the package

Author/maintainer

Relevant communications with the upstream package maintainer

None needed

Checklist

  • I've read CONTRIBUTING.md
  • I've used package-lint to check for packaging issues, and addressed its feedback
  • I've built and installed the package using the instructions in the README

lazily provides a macro to execute forms in a config file while catching any
void-variable or void-function errors. The bad forms are stored and retried
after every new load using after-load-functions.

I am the author/owner/maintainer and the url is
https://github.com/justbur/emacs-lazily.
@purcell
Copy link
Member

purcell commented Jan 14, 2017

Interesting. Seems to me that this is likely to result in forms being executed over and over again in quite unpredictable ways at startup, thus slowing everything down. And any typos which result in legitimate void-variable errors etc. will never be surfaced to the user. I'm quite wary of promoting this approach: once on MELPA this package will be found by Emacs newbies and they won't realise the pitfalls.

@justbur
Copy link
Contributor Author

justbur commented Jan 15, 2017

Interesting. Seems to me that this is likely to result in forms being executed over and over again in quite unpredictable ways at startup, thus slowing everything down.

I've set it up to check if for example there is a void-variable error that the variable is defined before the form is tried again to avoid this issue. I've also added two variants, lazily-do and lazily-do-all. One stops as soon as any error is found and stores all remaining forms. The -all version keeps going.

And any typos which result in legitimate void-variable errors etc. will never be surfaced to the user. I'm quite wary of promoting this approach: once on MELPA this package will be found by Emacs newbies and they won't realise the pitfalls.

Fair enough. This is an experiment as far as I'm concerned. Agreed that typos are one of the main issues. I added a function that produces a report of everything found. If you're not comfortable with it on MELPA, I have no problem with that.

@justbur justbur closed this Jan 15, 2017
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.

None yet

2 participants