branch: elpa/helm commit 418440c0d84bc4dcbaba26dd805c0e17398f09f4 Author: Thierry Volpiatto <thie...@posteo.net> Commit: Thierry Volpiatto <thie...@posteo.net>
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))