branch: externals/transient
commit 4f0fe22cafb6c2c8c8749a9037351ed01cf121ef
Author: Jonas Bernoulli <jo...@bernoul.li>
Commit: Jonas Bernoulli <jo...@bernoul.li>

    transient--expand-define-args: Use backward compatible signature
    
    Closes #288.
---
 CHANGELOG         | 5 +++++
 lisp/transient.el | 5 ++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG b/CHANGELOG
index b84a9a5bcc..e7a591e92a 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,4 +1,9 @@
 # -*- mode: org -*-
+* v0.7.1    UNRELEASED
+
+- Added a workaround for ~emoji.el~ from Emacs 29.1 calling an internal
+  function using an outdated number of arguments.  #288
+
 * v0.7.0    2024-06-18
 
 - Added new macro ~transient-augment-suffix~, which can be used to
diff --git a/lisp/transient.el b/lisp/transient.el
index e69288032f..a81b424ccb 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -1078,7 +1078,10 @@ commands are aliases for."
     (and val (not (eq val 'transient--default-infix-command)) val)))
 
 (eval-and-compile ;transient--expand-define-args
-  (defun transient--expand-define-args (args arglist form &optional nobody)
+  (defun transient--expand-define-args (args &optional arglist form nobody)
+    ;; ARGLIST and FORM are only optional for backward compatibility.
+    ;; This is necessary because "emoji.el" from Emacs 29 calls this
+    ;; function directly, with just one argument.
     (unless (listp arglist)
       (error "Mandatory ARGLIST is missing"))
     (let (class keys suffixes docstr declare (interactive-only t))

Reply via email to