diff options
Diffstat (limited to 'lisp/acdw.el')
-rw-r--r-- | lisp/acdw.el | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lisp/acdw.el b/lisp/acdw.el index de2b8e7..764a246 100644 --- a/lisp/acdw.el +++ b/lisp/acdw.el | |||
@@ -374,5 +374,17 @@ the `format' call in a list." | |||
374 | (prog1 (progn ,@body) | 374 | (prog1 (progn ,@body) |
375 | (progress-reporter-done ,reporter))))) | 375 | (progress-reporter-done ,reporter))))) |
376 | 376 | ||
377 | (defmacro +with-eval-after-loads (features &rest body) | ||
378 | "Execute BODY after all FEATURES are loaded." | ||
379 | (declare (indent 1) (debug (form def-body))) | ||
380 | (unless (listp features) | ||
381 | (setq features (list features))) | ||
382 | (if (null features) | ||
383 | (macroexp-progn body) | ||
384 | (let* ((this (car features)) | ||
385 | (rest (cdr features))) | ||
386 | `(with-eval-after-load ',this | ||
387 | (+with-eval-after-loads ,rest ,@body))))) | ||
388 | |||
377 | (provide 'acdw) | 389 | (provide 'acdw) |
378 | ;;; acdw.el ends here | 390 | ;;; acdw.el ends here |