[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 270b917 14/36: hydra.el (defhydra): Don't eval hints durin
From: |
Oleh Krehel |
Subject: |
[elpa] master 270b917 14/36: hydra.el (defhydra): Don't eval hints during the definition |
Date: |
Sat, 22 Jul 2017 11:22:22 -0400 (EDT) |
branch: master
commit 270b917f1c892a2cd55321e5eea1d028896d582b
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>
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))
- [elpa] master updated (231ac7f -> 32b8352), Oleh Krehel, 2017/07/22
- [elpa] master 69529ad 01/36: hydra.el (hydra-default-hint): Add option, Oleh Krehel, 2017/07/22
- [elpa] master f01f4a4 04/36: hydra.el (hydra-key-regex): Extract from hydra--format, Oleh Krehel, 2017/07/22
- [elpa] master 83b9019 07/36: hydra.el (hydra-width-spec-regex): Update, Oleh Krehel, 2017/07/22
- [elpa] master 9fd53ba 08/36: hydra.el (hydra-doc-format-spec): New defcustom, Oleh Krehel, 2017/07/22
- [elpa] master f668f4c 06/36: hydra.el (hydra-key-regex): Add "↓←→⌫⌦⏎", Oleh Krehel, 2017/07/22
- [elpa] master f877855 12/36: hydra-examples.el (org-agenda-cts): Add, Oleh Krehel, 2017/07/22
- [elpa] master 0a5074a 09/36: hydra.el (hydra--format): Avoid inf loops, Oleh Krehel, 2017/07/22
- [elpa] master 270b917 14/36: hydra.el (defhydra): Don't eval hints during the definition,
Oleh Krehel <=
- [elpa] master 200a444 10/36: hydra.el (hydra--hint): Revert return "" for :hint nil, Oleh Krehel, 2017/07/22
- [elpa] master 798684a 13/36: hydra-examples.el: Don't byte-compile, Oleh Krehel, 2017/07/22
- [elpa] master 1eee0f3 18/36: hydra.el (hydra-get-property): New defun., Oleh Krehel, 2017/07/22
- [elpa] master 272dc4a 05/36: hydra.el (hydra-docstring-keys-translate-alist): Update, Oleh Krehel, 2017/07/22
- [elpa] master 5be27f4 02/36: Add a shortcut to supply a head's eval-able docstring, Oleh Krehel, 2017/07/22
- [elpa] master 585db09 17/36: hydra-examples.el: Add example of setting verbosity, Oleh Krehel, 2017/07/22
- [elpa] master 6d5bdf7 11/36: Introduce (:hint none), Oleh Krehel, 2017/07/22
- [elpa] master 76d51ec 23/36: Fix compile warnings, Oleh Krehel, 2017/07/22
- [elpa] master dd5f703 27/36: hydra.el: Use error-message-string, not message, Oleh Krehel, 2017/07/22
- [elpa] master d2aaf86 20/36: Fix e.g. _f_(foo) in format string, Oleh Krehel, 2017/07/22