From 2f8d00020fc1688ebaace57bb976f4674fc9a998 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 2 Feb 2017 21:55:25 -0500 Subject: [PATCH] core-packages: add require! --- core/core-packages.el | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/core/core-packages.el b/core/core-packages.el index 7c20be0fc..83b2b468f 100644 --- a/core/core-packages.el +++ b/core/core-packages.el @@ -188,6 +188,14 @@ Note that packages are deferred by default." (pushnew name doom-packages) (macroexpand `(use-package ,name ,@plist)))) +(defmacro require! (feature) + "Like `require', but prefers uncompiled files when `doom--prefer-el-p' is +non-nil or in a noninteractive session." + (let ((prefer-el-p (or doom--prefer-el-p noninteractive))) + `(require ',feature + ,(locate-file (concat (symbol-name feature) (if prefer-el-p ".el")) + load-path)))) + (defmacro load! (file-or-module-sym &optional submodule file) "Load a module from `doom-modules-dir'. Plays the same role as `load-relative', but is specific to DOOM emacs modules and submodules. If