From c67e8e82de5de055ec75387a66bc17edd5cbf6c8 Mon Sep 17 00:00:00 2001 From: Levi Neely <141506390+lneely@users.noreply.github.com> Date: Sun, 15 Sep 2024 20:07:54 +0200 Subject: [PATCH] fix defer func --- emacs/module/module-pkg.el | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/emacs/module/module-pkg.el b/emacs/module/module-pkg.el index 76d47ef..66d7e6a 100644 --- a/emacs/module/module-pkg.el +++ b/emacs/module/module-pkg.el @@ -53,14 +53,17 @@ FILENAME and NOERROR are passed to `require'." Ensure FEATURE is installed first. FILENAME, if non-nil, is the file to load to provide FEATURE. If NOERROR is non-nil, don't signal an error if the file is not found." - `(progn - (pkg/ensure-installed ,feature) - (unless (featurep ',feature) - (autoload #',(intern (format "%s-autoloaded" feature)) - ,(or filename (symbol-name feature)) - nil t) - (defalias ',feature #',(intern (format "%s-autoloaded" feature)))) - ',feature)) + (let ((feature-sym (if (and (listp feature) (eq (car feature) 'quote)) + (cadr feature) + feature))) + `(progn + (pkg/ensure-installed ',feature-sym) + (unless (featurep ',feature-sym) + (autoload #',(intern (format "%s-autoloaded" feature-sym)) + ,(or filename (symbol-name feature-sym)) + nil t) + (defalias ',feature-sym #',(intern (format "%s-autoloaded" feature-sym)))) + ',feature-sym))) (defun pkg/require-defer-load (feature) "Check if a deferred FEATURE is already loaded."