emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master e4cae0a 03/45: hydra.el (defhydra): Simplify :cmd-name par


From: Oleh Krehel
Subject: [elpa] master e4cae0a 03/45: hydra.el (defhydra): Simplify :cmd-name part
Date: Thu, 16 Apr 2015 12:45:39 +0000

branch: master
commit e4cae0a0ddca9c6928a7ff5607949adb5c743bb5
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>

    hydra.el (defhydra): Simplify :cmd-name part
    
    * hydra.el (defhydra): When a plist isn't nil, `plist-put' can be used,
    which is useful to overwrite :cmd-name if it's present. When plist is
    nil, use the old code.
---
 hydra.el |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/hydra.el b/hydra.el
index f228e97..22f522c 100644
--- a/hydra.el
+++ b/hydra.el
@@ -914,10 +914,14 @@ result of `defhydra'."
                    (setcdr (cdr h) (cons
                                     (hydra-plist-get-default body-plist :hint 
"")
                                     (cddr h))))
-                 (setcdr (cddr h)
-                         `(:cmd-name
-                           ,(hydra--head-name h name body)
-                           ,@(cl-cdddr h))))))))
+                 (let ((hint-and-plist (cddr h)))
+                   (if (null (cdr hint-and-plist))
+                       (setcdr hint-and-plist
+                               (list :cmd-name
+                                     (hydra--head-name h name body)))
+                     (plist-put (cdr hint-and-plist)
+                                :cmd-name
+                                (hydra--head-name h name body)))))))))
     (let ((doc (hydra--doc body-key body-name heads))
           (heads-nodup (hydra--delete-duplicates heads)))
       (mapc



reply via email to

[Prev in Thread] Current Thread [Next in Thread]