branch: master commit 270b917f1c892a2cd55321e5eea1d028896d582b Author: Oleh Krehel <ohwoeo...@gmail.com> Commit: Oleh Krehel <ohwoeo...@gmail.com>
hydra.el (defhydra): Don't eval hints during the definition It's not necessary, and sometimes not even appropriate to `eval' the head's hint. For instance, the hint may assume being in some particular state, like `org-agenda-mode' etc. --- hydra.el | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/hydra.el b/hydra.el index 6b07dca..9e4947d 100644 --- a/hydra.el +++ b/hydra.el @@ -1035,11 +1035,15 @@ result of `defhydra'." (let ((hint (cl-caddr h))) (unless (or (null hint) (stringp hint) - (stringp (eval hint))) - (setcdr (cdr h) (cons - (hydra-plist-get-default - body-plist :hint hydra-default-hint) - (cddr h))))) + (consp hint)) + (let ((inherited-hint + (hydra-plist-get-default + body-plist :hint hydra-default-hint))) + (setcdr (cdr h) (cons + (if (eq 'none inherited-hint) + nil + inherited-hint) + (cddr h)))))) (let ((hint-and-plist (cddr h))) (if (null (cdr hint-and-plist)) (setcdr hint-and-plist (list :exit body-exit))