From 5346670ab089e1b9d7c86164f5c3341d2fe787a0 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Wed, 19 Jul 2017 14:09:29 +0200 Subject: [PATCH] Add doom/recompile-packages (make compile:elpa) If you upgrade (or downgrade) Emacs, there may be byte-compilation errors. This works around that. --- Makefile | 3 +++ core/core-packages.el | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/Makefile b/Makefile index 2869cd93e..a8925cd12 100644 --- a/Makefile +++ b/Makefile @@ -32,6 +32,9 @@ compile: init.el clean compile\:core: init.el clean @$(EMACS) -f doom/compile -- init.el core +compile\:elpa: init.el + @$(EMACS) -f doom/recompile-packages + $(patsubst %, compile\:%, $(MODULES)): init.el .local/autoloads.el @rm -fv $(shell find $(patsubst compile:%, modules/%, $@) -type f -name '*.elc') @$(EMACS) -f doom/compile -- $(patsubst compile:%, modules/%, $@) diff --git a/core/core-packages.el b/core/core-packages.el index fdf44c02d..312cd1163 100644 --- a/core/core-packages.el +++ b/core/core-packages.el @@ -632,6 +632,12 @@ If ONLY-RECOMPILE-P is non-nil, only recompile out-of-date files." ;; Forcibly recompile core.el in case `load-path' has changed (byte-recompile-file (expand-file-name "core.el" doom-core-dir) t)) +(defun doom/recompile-packages () + "Recompile all installed elpa packages. If you're getting odd errors after +upgrading Emacs, this may fix it." + (interactive) + (byte-recompile-directory package-user-dir 0 t)) + (defun doom/reset () "Clear the local cache completely (in `doom-cache-dir').