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

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

[nongnu] elpa/helm a5cd0b702c 4/4: Fix concat kmacros for emacs-29


From: ELPA Syncer
Subject: [nongnu] elpa/helm a5cd0b702c 4/4: Fix concat kmacros for emacs-29
Date: Sat, 14 Oct 2023 04:02:07 -0400 (EDT)

branch: elpa/helm
commit a5cd0b702c89c68088d893483fed81c4bbda2bcb
Author: Thierry Volpiatto <thievol@posteo.net>
Commit: Thierry Volpiatto <thievol@posteo.net>

    Fix concat kmacros for emacs-29
---
 helm-ring.el | 23 ++++++++++++++---------
 1 file changed, 14 insertions(+), 9 deletions(-)

diff --git a/helm-ring.el b/helm-ring.el
index 059a72ff3b..be4b57958a 100644
--- a/helm-ring.el
+++ b/helm-ring.el
@@ -603,15 +603,20 @@ See (info \"(emacs) Keyboard Macros\") for detailed 
infos."
     (when (cdr mkd)
       (kmacro-push-ring)
       (setq last-kbd-macro
-            (mapconcat 'identity
-                       (cl-loop for km in mkd
-                                if (vectorp km)
-                                append (cl-loop for k across km collect
-                                                (key-description (vector k)))
-                                into result
-                                else collect (car km) into result
-                                finally return result)
-                       "")))))
+            (vconcat
+             (cl-loop for km in mkd
+                      for keys = (pcase km
+                                   ((pred vectorp) km)
+                                   ((and closure
+                                         (guard
+                                          (eq (oclosure-type closure)
+                                              'kmacro)))
+                                    (kmacro--keys km))
+                                   (_ (car km)))
+                      if (vectorp keys)
+                      vconcat keys into result
+                      else collect keys into result
+                      finally return result))))))
 
 (defun helm-kbd-macro-delete-macro (_candidate)
   (let ((mkd  (helm-marked-candidates))



reply via email to

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