From 19600905e5edb598c1f4faf7788a61f624b20f60 Mon Sep 17 00:00:00 2001 From: KemoNine Date: Sat, 23 Apr 2022 15:35:42 -0400 Subject: [PATCH] add auto compile of elisp in packages to speed startup time --- common/_global.el | 16 ++++++++++++++++ emacs.md | 20 ++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/common/_global.el b/common/_global.el index 031583d..279fb43 100644 --- a/common/_global.el +++ b/common/_global.el @@ -13,6 +13,22 @@ (setq kmn/is-termux (string-suffix-p "Android" (string-trim (shell-command-to-string "uname -a")))) +; ensure elisp plugins are compiled +(require 'dash) +(require 'f) + +(defun was-compiled-p (path) + "Does the directory at PATH contain any .elc files?" + (--any-p (f-ext? it "elc") (f-files path))) + +(defun ensure-packages-compiled () + "If any packages installed with package.el aren't compiled yet, compile them." + (--each (f-directories package-user-dir) + (unless (was-compiled-p it) + (byte-recompile-directory it 0)))) + +(ensure-packages-compiled) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; backups (defconst kmn/backup-dir diff --git a/emacs.md b/emacs.md index 32472fa..fab3255 100644 --- a/emacs.md +++ b/emacs.md @@ -75,6 +75,7 @@ open scratch buffer. paste below into it as the contents then do `M-x ev-b RET` diminish dash s + f oragami ido-completing-read+ dired-single @@ -99,3 +100,22 @@ open scratch buffer. paste below into it as the contents then do `M-x ev-b RET` (package-install p)))) ``` + +speed up runtime by compiling all packages + +``` +(require 'dash) +(require 'f) + +(defun was-compiled-p (path) + "Does the directory at PATH contain any .elc files?" + (--any-p (f-ext? it "elc") (f-files path))) + +(defun ensure-packages-compiled () + "If any packages installed with package.el aren't compiled yet, compile them." + (--each (f-directories package-user-dir) + (unless (was-compiled-p it) + (byte-recompile-directory it 0)))) + +(ensure-packages-compiled) +```