diff --git a/hydra.el b/hydra.el index 3508532..c73736f 100644 --- a/hydra.el +++ b/hydra.el @@ -875,7 +875,8 @@ BODY-AFTER-EXIT is added to the end of the wrapper." (hint (intern (format "%S/hint" name))) (body-foreign-keys (hydra--body-foreign-keys body)) (body-timeout (plist-get body :timeout)) - (body-idle (plist-get body :idle))) + (body-idle (plist-get body :idle)) + (curr-body-fn-sym (intern (format "%S/body" name)))) `(defun ,cmd-name () ,doc (interactive) @@ -884,7 +885,7 @@ BODY-AFTER-EXIT is added to the end of the wrapper." ,@(when body-pre (list body-pre)) ,@(if (hydra--head-property head :exit) `((hydra-keyboard-quit) - (setq hydra-curr-body-fn ',(intern (format "%S/body" name))) + (setq hydra-curr-body-fn ',curr-body-fn-sym) ,@(if body-after-exit `((unwind-protect ,(when cmd @@ -896,7 +897,7 @@ BODY-AFTER-EXIT is added to the end of the wrapper." nil `((let ((hydra--ignore ,(not (eq (cadr head) 'body)))) (hydra-keyboard-quit) - (setq hydra-curr-body-fn ',(intern (format "%S/body" name)))) + (setq hydra-curr-body-fn ',curr-body-fn-sym)) ,(when cmd `(condition-case err ,(hydra--call-interactively cmd (cadr head))