Function: comp--args-to-lambda-list

comp--args-to-lambda-list is a byte-compiled function defined in comp.el.gz.

Signature

(comp--args-to-lambda-list ARGS)

Documentation

Return a lambda list for ARGS.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/comp.el.gz
;;; Final pass specific code.

(defun comp--args-to-lambda-list (args)
  "Return a lambda list for ARGS."
  (cl-loop
   with res
   repeat (comp-args-base-min args)
   do (push t res)
   finally
   (if (comp-args-p args)
       (cl-loop
        with n = (- (comp-args-max args) (comp-args-min args))
        initially (unless (zerop n)
                    (push '&optional res))
        repeat n
        do (push t res))
     (cl-loop
      with n = (- (comp-nargs-nonrest args) (comp-nargs-min args))
      initially (unless (zerop n)
                  (push '&optional res))
      repeat n
      do (push t res)
      finally (when (comp-nargs-rest args)
                (push '&rest res)
                (push 't res))))
   (cl-return (reverse res))))