emacscollective / emacs.g

The Emacs Collective
ISC License
88 stars 49 forks source link

init: Require use-package just at compile-time #16

Closed bwolf closed 6 years ago

bwolf commented 6 years ago

use-package is only required when byte-compiling init.el.

tarsius commented 6 years ago

use-package is only required when byte-compiling init.el.

... or some other file that uses it, such as the "second" init file USERNAME.el that borg supports. Not sure if we should do this. Users would then have to add the same thing to those other files.

bwolf commented 6 years ago

Yes, this is IMHO a question of byte-compile or not. If you think it would complicate the overall usage of borg (and I'm with you here), then please feel free to deny the pull request.

tarsius commented 6 years ago

I'll probably add a similar patch on the next update cycle:

diff --git a/init.el b/init.el
index 0dd1d19e..ed158180 100644
--- a/init.el
+++ b/init.el
@@ -27,8 +27,7 @@ (progn ;    `borg'
   (add-to-list 'load-path (expand-file-name "lib/borg" user-emacs-directory))
   (require  'borg)
   (borg-initialize))
-
-(progn ;    `use-package'
+(eval-when-compile
   (require  'use-package)
   (setq use-package-verbose t))

after testing it locally a bit.

Note that use-package-verbose is only consulted at compile time.

tarsius commented 6 years ago

And now I have decided to not do it at all. It's not worth the risk. If you do use :bind, then you would have to explicitly load use-key. Otherwise you get errors because personal-keybindings is undefined. There might be similar issues. Nothing wrong with doing it in your own init file, but yes, I think it complicates the overall usage of borg.