mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-06 06:20:55 -08:00
Support for after keyword
After provides `eval-after-load' functionality for any number of features. This helps to avoid deeply nested `use-package' statements. Closes https://github.com/jwiegley/use-package/issues/274
This commit is contained in:
parent
ff8bdfcdca
commit
564f9bb74b
1 changed files with 32 additions and 0 deletions
|
|
@ -126,6 +126,7 @@ the user specified."
|
|||
:defines
|
||||
:functions
|
||||
:defer
|
||||
:after
|
||||
:demand
|
||||
:init
|
||||
:config
|
||||
|
|
@ -854,6 +855,33 @@ deferred until the prefix key sequence is pressed."
|
|||
|
||||
body)))
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;
|
||||
;; :after
|
||||
;;
|
||||
|
||||
(defalias 'use-package-normalize/:after 'use-package-normalize-symlist)
|
||||
|
||||
(defun use-package-require-after-load (features name)
|
||||
"Return form for after any of FEATURES require NAME."
|
||||
`(progn
|
||||
,@(mapcar
|
||||
(lambda (feat)
|
||||
`(eval-after-load
|
||||
(quote ,feat)
|
||||
(quote (require (quote ,name)))))
|
||||
features)))
|
||||
|
||||
(defun use-package-handler/:after (name keyword arg rest state)
|
||||
(let ((body (use-package-process-keywords name rest
|
||||
(plist-put state :deferred t)))
|
||||
(name-string (use-package-as-string name)))
|
||||
(use-package-concat
|
||||
(when arg
|
||||
(list (use-package-require-after-load arg name)))
|
||||
body)))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;
|
||||
;; :demand
|
||||
|
|
@ -1019,6 +1047,10 @@ this file. Usage:
|
|||
`:commands', `:bind', `:bind*', `:mode' or `:interpreter'.
|
||||
This can be an integer, to force loading after N seconds of
|
||||
idle time, if the package has not already been loaded.
|
||||
|
||||
:after Defer loading of a package until after any of the named
|
||||
features are loaded.
|
||||
|
||||
:demand Prevent deferred loading in all cases.
|
||||
|
||||
:if EXPR Initialize and load only if EXPR evaluates to a non-nil value.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue