Function: make-comp-ctxt--cmacro
make-comp-ctxt--cmacro is a function defined in comp.el.gz.
Signature
(make-comp-ctxt--cmacro CL-WHOLE &cl-quote &key TYPEOF-TYPES PRED-TYPE-H UNION-TYPESETS-MEM COMMON-SUPERTYPE-MEM SUBTYPE-P-MEM UNION-1-MEM-NO-RANGE UNION-1-MEM-RANGE INTERSECTION-MEM OUTPUT SPEED SAFETY DEBUG COMPILER-OPTIONS DRIVER-OPTIONS TOP-LEVEL-FORMS FUNCS-H SYM-TO-C-NAME-H BYTE-FUNC-TO-FUNC-H LAMBDA-FIXUPS-H FUNCTION-DOCS D-DEFAULT D-IMPURE D-EPHEMERAL WITH-LATE-LOAD)
Documentation
compiler-macro for make-comp-ctxt.
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*
((typeof-types
(car
(cdr
(or (plist-member --cl-rest-- ':typeof-types)
'(nil (comp--compute-typeof-types))))))
(pred-type-h
(car
(cdr
(or (plist-member --cl-rest-- ':pred-type-h)
'(nil (comp--compute--pred-type-h))))))
(union-typesets-mem
(car
(cdr
(or (plist-member --cl-rest-- ':union-typesets-mem)
'(nil (make-hash-table :test #'equal))))))
(common-supertype-mem
(car
(cdr
(or (plist-member --cl-rest-- ':common-supertype-mem)
'(nil (make-hash-table :test #'equal))))))
(subtype-p-mem
(car
(cdr
(or (plist-member --cl-rest-- ':subtype-p-mem)
'(nil (make-hash-table :test #'equal))))))
(union-1-mem-no-range
(car
(cdr
(or (plist-member --cl-rest-- ':union-1-mem-no-range)
'(nil (make-hash-table :test #'equal))))))
(union-1-mem-range
(car
(cdr
(or (plist-member --cl-rest-- ':union-1-mem-range)
'(nil (make-hash-table :test #'equal))))))
(intersection-mem
(car
(cdr
(or (plist-member --cl-rest-- ':intersection-mem)
'(nil (make-hash-table :test #'equal))))))
(output (car (cdr (plist-member --cl-rest-- ':output))))
(speed
(car
(cdr
(or (plist-member --cl-rest-- ':speed)
'(nil native-comp-speed)))))
(safety
(car
(cdr
(or (plist-member --cl-rest-- ':safety)
'(nil compilation-safety)))))
(debug
(car
(cdr
(or (plist-member --cl-rest-- ':debug)
'(nil native-comp-debug)))))
(compiler-options
(car
(cdr
(or (plist-member --cl-rest-- ':compiler-options)
'(nil native-comp-compiler-options)))))
(driver-options
(car
(cdr
(or (plist-member --cl-rest-- ':driver-options)
'(nil native-comp-driver-options)))))
(top-level-forms
(car (cdr (plist-member --cl-rest-- ':top-level-forms))))
(funcs-h
(car
(cdr
(or (plist-member --cl-rest-- ':funcs-h)
'(nil (make-hash-table :test #'equal))))))
(sym-to-c-name-h
(car
(cdr
(or (plist-member --cl-rest-- ':sym-to-c-name-h)
'(nil (make-hash-table :test #'eq))))))
(byte-func-to-func-h
(car
(cdr
(or (plist-member --cl-rest-- ':byte-func-to-func-h)
'(nil (make-hash-table :test #'equal))))))
(lambda-fixups-h
(car
(cdr
(or (plist-member --cl-rest-- ':lambda-fixups-h)
'(nil (make-hash-table :test #'equal))))))
(function-docs
(car
(cdr
(or (plist-member --cl-rest-- ':function-docs)
'(nil (make-hash-table :test #'eql))))))
(d-default
(car
(cdr
(or (plist-member --cl-rest-- ':d-default)
'(nil (make-comp-data-container))))))
(d-impure
(car
(cdr
(or (plist-member --cl-rest-- ':d-impure)
'(nil (make-comp-data-container))))))
(d-ephemeral
(car
(cdr
(or (plist-member --cl-rest-- ':d-ephemeral)
'(nil (make-comp-data-container))))))
(with-late-load
(car (cdr (plist-member --cl-rest-- ':with-late-load)))))
(progn
(let ((--cl-keys-- --cl-rest--))
(while --cl-keys--
(cond
((memq (car --cl-keys--)
'(:typeof-types :pred-type-h :union-typesets-mem
:common-supertype-mem
:subtype-p-mem
:union-1-mem-no-range
:union-1-mem-range
:intersection-mem :output :speed
:safety :debug :compiler-options
:driver-options :top-level-forms
:funcs-h :sym-to-c-name-h
:byte-func-to-func-h
:lambda-fixups-h :function-docs
:d-default :d-impure :d-ephemeral
:with-late-load :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 (:typeof-types :pred-type-h :union-typesets-mem :common-supertype-mem :subtype-p-mem :union-1-mem-no-range :union-1-mem-range :intersection-mem :output :speed :safety :debug :compiler-options :driver-options :top-level-forms :funcs-h :sym-to-c-name-h :byte-func-to-func-h :lambda-fixups-h :function-docs :d-default :d-impure :d-ephemeral :with-late-load)"
(car --cl-keys--))))))
(cl-block make-comp-ctxt--cmacro
(cl--defsubst-expand
'(typeof-types pred-type-h union-typesets-mem
common-supertype-mem subtype-p-mem
union-1-mem-no-range union-1-mem-range
intersection-mem output speed safety debug
compiler-options driver-options
top-level-forms funcs-h sym-to-c-name-h
byte-func-to-func-h lambda-fixups-h
function-docs d-default d-impure d-ephemeral
with-late-load)
'(cl-block make-comp-ctxt
(record 'comp-ctxt typeof-types pred-type-h
union-typesets-mem common-supertype-mem
subtype-p-mem union-1-mem-no-range
union-1-mem-range intersection-mem output speed
safety debug compiler-options driver-options
top-level-forms funcs-h sym-to-c-name-h
byte-func-to-func-h lambda-fixups-h function-docs
d-default d-impure d-ephemeral with-late-load))
nil cl-whole nil typeof-types pred-type-h union-typesets-mem
common-supertype-mem subtype-p-mem union-1-mem-no-range
union-1-mem-range intersection-mem output speed safety debug
compiler-options driver-options top-level-forms funcs-h
sym-to-c-name-h byte-func-to-func-h lambda-fixups-h
function-docs d-default d-impure d-ephemeral with-late-load)))))
(t) nil
"compiler-macro for `make-comp-ctxt'.\n\n(fn CL-WHOLE &cl-quote &key TYPEOF-TYPES PRED-TYPE-H UNION-TYPESETS-MEM COMMON-SUPERTYPE-MEM SUBTYPE-P-MEM UNION-1-MEM-NO-RANGE UNION-1-MEM-RANGE INTERSECTION-MEM OUTPUT SPEED SAFETY DEBUG COMPILER-OPTIONS DRIVER-OPTIONS TOP-LEVEL-FORMS FUNCS-H SYM-TO-C-NAME-H BYTE-FUNC-TO-FUNC-H LAMBDA-FIXUPS-H FUNCTION-DOCS D-DEFAULT D-IMPURE D-EPHEMERAL WITH-LATE-LOAD)"]