doomemacs/core
Henrik Lissner 0c678ee762
Refactor after! macro
The trouble with with-eval-after-load is it arranges for the body to be
byte-compiled, whereas eval-after-load does not. I won't go into how
they do that here, but it causes us some trouble:

Macro calls in with-eval-after-load are eagerly (immediately) expanded
at startup, whether or not the package or macro is available and
regardless of its execution path.

This sucks for Doom because, when expanded, autoloaded macros will be
loaded, along with whatever baggage they've got with them, and this
happens long before they're actually used. We also can't guarantee those
macros are available at startup, which will cause void-function errors
when the interpreter later treats them like an ordinary function call.

So, the simple fix is to pass a quoted body form to eval-after-load
instead of the closure that with-eval-after-load will wrap it in. This
means the body won't get byte-compiled if we compile our config, but in
exchange, macros stay lazy-loaded until they're finally needed!
Wonderful.
2019-07-22 14:49:25 +02:00
..
autoload Fix void doom-package-list error on first install 2019-07-22 03:48:29 +02:00
cli Exclude gh.el from autoloads 2019-07-22 06:06:58 +02:00
templates Revise and update docstrings and comments 2019-05-01 21:02:28 -04:00
test 💥 revise advice naming convention (1/2) 2019-07-22 02:27:45 +02:00
core-cli.el Fix 'command not found' errors for hidden commands 2019-07-22 04:46:14 +02:00
core-editor.el Improve smartparens config and comments 2019-07-22 02:38:20 +02:00
core-keybinds.el General, minor reformatting across the board 2019-07-22 02:37:45 +02:00
core-lib.el General, minor reformatting across the board 2019-07-22 02:37:45 +02:00
core-modules.el Refactor after! macro 2019-07-22 14:49:25 +02:00
core-packages.el Fix void doom-package-list error on first install 2019-07-22 03:48:29 +02:00
core-projects.el Fix hash-table-p errors loading projectile 2019-07-22 06:28:32 +02:00
core-ui.el General, minor reformatting across the board 2019-07-22 02:37:45 +02:00
core.el bin/doom: add -l/--local/DOOMLOCALDIR 2019-07-22 02:37:48 +02:00
doctor.el cli/doctor: fix stringp error if fd isn't installed 2019-07-22 02:37:47 +02:00
packages.el 💥 Replace package.el/quelpa with straight #374 2019-07-22 02:30:40 +02:00