Function: profiler-make-profile--cmacro
profiler-make-profile--cmacro is a function defined in profiler.el.gz.
Signature
(profiler-make-profile--cmacro CL-WHOLE &cl-quote &key TAG VERSION TYPE LOG TIMESTAMP DIFF-P)
Documentation
compiler-macro for inlining profiler-make-profile.
Source Code
;; Defined in /usr/src/emacs/lisp/profiler.el.gz
;; Closure converted to defun by helpful.
(defun profiler-make-profile--cmacro
(cl-whole &rest --cl-rest--)
"compiler-macro for inlining `profiler-make-profile'.\n\n\\(fn CL-WHOLE &cl-quote &key TAG VERSION TYPE LOG TIMESTAMP DIFF-P)"
(let*
((tag
(car
(cdr
(or
(plist-member --cl-rest-- ':tag)
'(nil 'profiler-profile)))))
(version
(car
(cdr
(or
(plist-member --cl-rest-- ':version)
'(nil profiler-version)))))
(type
(car
(cdr
(plist-member --cl-rest-- ':type))))
(log
(car
(cdr
(plist-member --cl-rest-- ':log))))
(timestamp
(car
(cdr
(plist-member --cl-rest-- ':timestamp))))
(diff-p
(car
(cdr
(plist-member --cl-rest-- ':diff-p)))))
(progn
(let
((--cl-keys-- --cl-rest--))
(while --cl-keys--
(cond
((memq
(car --cl-keys--)
'(:tag :version :type :log :timestamp :diff-p :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 (:tag :version :type :log :timestamp :diff-p)"
(car --cl-keys--))))))
(cl-block profiler-make-profile--cmacro
(cl--defsubst-expand
'(tag version type log timestamp diff-p)
'(cl-block profiler-make-profile
(vector tag version type log timestamp diff-p))
nil cl-whole nil tag version type log timestamp diff-p)))))