From d44c57f01ac00ce3cc8a4377f891190da9618b8e Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sun, 9 May 2021 13:06:24 -0400 Subject: [PATCH] Add :defer support to add-hook! macro See add-hook's DEPTH argument (replaces APPEND in Emacs 27+). --- core/core-lib.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/core-lib.el b/core/core-lib.el index 688b46a4b..36fddb72a 100644 --- a/core/core-lib.el +++ b/core/core-lib.el @@ -510,10 +510,12 @@ This macro accepts, in order: append-p local-p remove-p + depth forms) (while (keywordp (car rest)) (pcase (pop rest) (:append (setq append-p t)) + (:depth (setq depth (pop rest))) (:local (setq local-p t)) (:remove (setq remove-p t)))) (let ((first (car-safe (car rest)))) @@ -535,7 +537,7 @@ This macro accepts, in order: (dolist (func func-forms) (push (if remove-p `(remove-hook ',hook #',func ,local-p) - `(add-hook ',hook #',func ,append-p ,local-p)) + `(add-hook ',hook #',func ,(or depth append-p) ,local-p)) forms))) (macroexp-progn (append defn-forms