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

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

[elpa] externals/org 8e68eac: macro: Do not generate macros with (&optio


From: ELPA Syncer
Subject: [elpa] externals/org 8e68eac: macro: Do not generate macros with (&optional &rest _) signature
Date: Sat, 17 Apr 2021 05:57:11 -0400 (EDT)

branch: externals/org
commit 8e68eac0bd892fc543d80cbd76e37fcf7cf23228
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Nicolas Goaziou <mail@nicolasgoaziou.fr>

    macro: Do not generate macros with (&optional &rest _) signature
    
    * lisp/org-macro.el (org-macro--makeargs): Fix Emacs-26 burping
    because of a bug when functions are declared with 0 optional arguments
    like (&optional &rest x).
---
 lisp/org-macro.el | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/lisp/org-macro.el b/lisp/org-macro.el
index 0f1dfa2..ea4d121 100644
--- a/lisp/org-macro.el
+++ b/lisp/org-macro.el
@@ -91,10 +91,11 @@ directly, use instead:
       (setq i (match-end 0))
       (setq max (max max (string-to-number (match-string 1 template)))))
     (let ((args '(&rest _)))
-      (while (> max 0)
-        (push (intern (format "$%d" max)) args)
-        (setq max (1- max)))
-      (cons '&optional args))))
+      (if (< max 1) args ;Avoid `&optional &rest', refused by Emacs-26!
+        (while (> max 0)
+          (push (intern (format "$%d" max)) args)
+          (setq max (1- max)))
+        (cons '&optional args)))))
 
 (defun org-macro--set-templates (templates)
   "Set template for the macro NAME.



reply via email to

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