Function: org-macro--makeargs

org-macro--makeargs is a byte-compiled function defined in org-macro.el.gz.

Signature

(org-macro--makeargs TEMPLATE)

Documentation

Compute the formal arglist to use for TEMPLATE.

Source Code

;; Defined in /usr/src/emacs/lisp/org/org-macro.el.gz
;;; Functions

(defun org-macro--makeargs (template)
  "Compute the formal arglist to use for TEMPLATE."
  (let ((max 0) (i 0))
    (while (string-match "\\$\\([0-9]+\\)" template i)
      (setq i (match-end 0))
      (setq max (max max (string-to-number (match-string 1 template)))))
    (let ((args '(&rest _)))
      (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)))))