Function: byte-compile-arglist-signature

byte-compile-arglist-signature is a byte-compiled function defined in bytecomp.el.gz.

Signature

(byte-compile-arglist-signature ARGLIST)

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/bytecomp.el.gz
(defun byte-compile-arglist-signature (arglist)
  (cond
   ((listp arglist)
    (let ((args 0)
          opts
          restp)
      (while arglist
        (cond ((eq (car arglist) '&optional)
               (or opts (setq opts 0)))
              ((eq (car arglist) '&rest)
               (if (cdr arglist)
                   (setq restp t
                         arglist nil)))
              (t
               (if opts
                   (setq opts (1+ opts))
		 (setq args (1+ args)))))
        (setq arglist (cdr arglist)))
      (cons args (if restp nil (if opts (+ args opts) args)))))
   ;; Unknown arglist.
   (t '(0))))