Function: byte-run--set-function-type

byte-run--set-function-type is a byte-compiled function defined in byte-run.el.gz.

Signature

(byte-run--set-function-type F ARGS VAL &optional F2)

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/byte-run.el.gz
(defalias 'byte-run--set-function-type
  #'(lambda (f args val &optional f2)
      (when (and f2 (not (eq f2 f)))
        (error
         "`%s' does not match top level function `%s' inside function type \
declaration" f2 f))
      (unless (and  (length= val 3)
                    (eq (car val) 'function)
                    (listp (car (cdr val))))
        (error "Type `%s' is not valid a function type" val))
      (unless (equal (byte-run--anonymize-arg-list args)
                     (byte-run--anonymize-arg-list (car (cdr val))))
        (error "Type `%s' incompatible with function arguments `%s'" val args))
      (list 'function-put (list 'quote f)
            ''function-type (list 'quote val))))