Function: byte-run--parse-declarations

byte-run--parse-declarations is a byte-compiled function defined in byte-run.el.gz.

Signature

(byte-run--parse-declarations NAME ARGLIST CLAUSES CONSTRUCT DECLARATIONS-ALIST)

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/byte-run.el.gz
(defalias 'byte-run--parse-declarations
  #'(lambda (name arglist clauses construct declarations-alist)
      (let* ((cl-decls nil)
             (actions
              (mapcar
               #'(lambda (x)
                   (let ((f (cdr (assq (car x) declarations-alist))))
                     (cond
                      (f (apply (car f) name arglist (cdr x)))
                      ;; Yuck!!
                      ((and (featurep 'cl)
                            (memq (car x)  ;Cf. cl--do-proclaim.
                                  '(special inline notinline optimize warn)))
                       (push (list 'declare x) cl-decls)
                       nil)
                      (t
                       (macroexp-warn-and-return
                        (format-message "Unknown %s property `%S'"
                                        construct (car x))
                        nil nil nil (car x))))))
               clauses)))
        (cons actions cl-decls))))