branch: elpa/helm
commit 418440c0d84bc4dcbaba26dd805c0e17398f09f4
Author: Thierry Volpiatto <[email protected]>
Commit: Thierry Volpiatto <[email protected]>
Try to make concat kmacros compatible with both emacs 28 and 29
---
helm-ring.el | 27 +++++++++++++--------------
1 file changed, 13 insertions(+), 14 deletions(-)
diff --git a/helm-ring.el b/helm-ring.el
index be4b57958a..f3aa69a78d 100644
--- a/helm-ring.el
+++ b/helm-ring.el
@@ -603,20 +603,19 @@ See (info \"(emacs) Keyboard Macros\") for detailed
infos."
(when (cdr mkd)
(kmacro-push-ring)
(setq last-kbd-macro
- (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))))))
+ (cl-loop for km in mkd
+ for keys = (pcase km
+ ((pred vectorp) km)
+ ((pred functionp) ; Ocl
+ (kmacro--keys km))
+ (_ (car km)))
+ if (vectorp keys)
+ vconcat keys into result
+ else collect keys into result
+ finally return
+ (if (vectorp result)
+ result
+ (vconcat (mapcar 'string-to-char result))))))))
(defun helm-kbd-macro-delete-macro (_candidate)
(let ((mkd (helm-marked-candidates))