fix: Mark transient hooks as permanent-local
This commit is contained in:
@@ -51,13 +51,15 @@
|
|||||||
(defun ,hook-name (&rest _)
|
(defun ,hook-name (&rest _)
|
||||||
"Transient hook defined by `with-transient-after'."
|
"Transient hook defined by `with-transient-after'."
|
||||||
(cond ((functionp ,hook-or-function*)
|
(cond ((functionp ,hook-or-function*)
|
||||||
(advice-remove ,hook-or-function* (function ,hook-name)))
|
(advice-remove ,hook-or-function* #',hook-name))
|
||||||
((symbolp ,hook-or-function*)
|
((symbolp ,hook-or-function*)
|
||||||
(remove-hook ,hook-or-function* (function ,hook-name))))
|
(remove-hook ,hook-or-function* #',hook-name)))
|
||||||
,@forms)
|
,@forms)
|
||||||
(cond ((functionp ,hook-or-function*)
|
(cond ((functionp ,hook-or-function*)
|
||||||
(advice-add ,hook-or-function* :before (function ,hook-name)))
|
(advice-add ,hook-or-function* :before #',hook-name))
|
||||||
((symbolp ,hook-or-function*)
|
((symbolp ,hook-or-function*)
|
||||||
(add-hook ,hook-or-function* (function ,hook-name)))))))
|
;; https://www.gnu.org/software/emacs/manual/html_node/elisp/Setting-Hooks.html#Setting-Hooks-1
|
||||||
|
(put ',hook-name 'permanent-local-hook t)
|
||||||
|
(add-hook ,hook-or-function* #',hook-name))))))
|
||||||
|
|
||||||
(provide 'syd-prelude)
|
(provide 'syd-prelude)
|
||||||
|
|||||||
Reference in New Issue
Block a user