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 make-comp-limplify.
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/comp.el.gz
;; Could not find source code, showing raw function object.
#[(cl-whole &rest --cl-rest--)
((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)))))
(cl-struct-comp-limplify-tags) nil
"compiler-macro for `make-comp-limplify'.\n\n(fn CL-WHOLE &cl-quote &key FRAME CURR-BLOCK SP PC LABEL-TO-ADDR PENDING-BLOCKS)"]