Function: make-comp-limplify--cmacro
make-comp-limplify--cmacro is a function defined in comp.el.gz.
Signature
(make-comp-limplify--cmacro CL-WHOLE &cl-quote &key FRAME CURR-BLOCK SP PC LABEL-TO-ADDR PENDING-BLOCKS)
Documentation
compiler-macro for inlining make-comp-limplify.
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/comp.el.gz
;; Closure converted to defun by helpful.
(defun make-comp-limplify--cmacro
(cl-whole &rest --cl-rest--)
"compiler-macro for inlining `make-comp-limplify'.\n\n\\(fn CL-WHOLE &cl-quote &key FRAME CURR-BLOCK SP PC LABEL-TO-ADDR PENDING-BLOCKS)"
(let*
((frame
(car
(cdr
(plist-member --cl-rest-- ':frame))))
(curr-block
(car
(cdr
(plist-member --cl-rest-- ':curr-block))))
(sp
(car
(cdr
(or
(plist-member --cl-rest-- ':sp)
'(nil -1)))))
(pc
(car
(cdr
(or
(plist-member --cl-rest-- ':pc)
'(nil 0)))))
(label-to-addr
(car
(cdr
(plist-member --cl-rest-- ':label-to-addr))))
(pending-blocks
(car
(cdr
(plist-member --cl-rest-- ':pending-blocks)))))
(progn
(let
((--cl-keys-- --cl-rest--))
(while --cl-keys--
(cond
((memq
(car --cl-keys--)
'(:frame :curr-block :sp :pc :label-to-addr :pending-blocks :allow-other-keys))
(unless
(cdr --cl-keys--)
(error "Missing argument for %s"
(car --cl-keys--)))
(setq --cl-keys--
(cdr
(cdr --cl-keys--))))
((car
(cdr
(memq ':allow-other-keys --cl-rest--)))
(setq --cl-keys-- nil))
(t
(error "Keyword argument %s not one of (:frame :curr-block :sp :pc :label-to-addr :pending-blocks)"
(car --cl-keys--))))))
(cl-block make-comp-limplify--cmacro
(cl--defsubst-expand
'(frame curr-block sp pc label-to-addr pending-blocks)
'(cl-block make-comp-limplify
(record 'comp-limplify frame curr-block sp pc label-to-addr pending-blocks))
nil cl-whole nil frame curr-block sp pc label-to-addr pending-blocks)))))