Function: edebug--make-frame--cmacro

edebug--make-frame--cmacro is a function defined in edebug.el.gz.

Signature

(edebug--make-frame--cmacro CL-WHOLE &cl-quote &key EVALD FUN ARGS FLAGS LOCALS BUFFER POS DEF-NAME BEFORE-INDEX AFTER-INDEX)

Documentation

compiler-macro for inlining edebug--make-frame.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/edebug.el.gz
;; Closure converted to defun by helpful.
(defun edebug--make-frame--cmacro
    (cl-whole &rest --cl-rest--)
  "compiler-macro for inlining `edebug--make-frame'.\n\n\\(fn CL-WHOLE &cl-quote &key EVALD FUN ARGS FLAGS LOCALS BUFFER POS DEF-NAME BEFORE-INDEX AFTER-INDEX)"
  (let*
      ((evald
	(car
	 (cdr
	  (plist-member --cl-rest-- ':evald))))
       (fun
	(car
	 (cdr
	  (plist-member --cl-rest-- ':fun))))
       (args
	(car
	 (cdr
	  (plist-member --cl-rest-- ':args))))
       (flags
	(car
	 (cdr
	  (plist-member --cl-rest-- ':flags))))
       (locals
	(car
	 (cdr
	  (plist-member --cl-rest-- ':locals))))
       (buffer
	(car
	 (cdr
	  (plist-member --cl-rest-- ':buffer))))
       (pos
	(car
	 (cdr
	  (plist-member --cl-rest-- ':pos))))
       (def-name
	 (car
	  (cdr
	   (plist-member --cl-rest-- ':def-name))))
       (before-index
	(car
	 (cdr
	  (plist-member --cl-rest-- ':before-index))))
       (after-index
	(car
	 (cdr
	  (plist-member --cl-rest-- ':after-index)))))
    (progn
      (let
	  ((--cl-keys-- --cl-rest--))
	(while --cl-keys--
	  (cond
	   ((memq
	     (car --cl-keys--)
	     '(:evald :fun :args :flags :locals :buffer :pos :def-name :before-index :after-index :allow-other-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 (:evald :fun :args :flags :locals :buffer :pos :def-name :before-index :after-index)"
		   (car --cl-keys--))))))
      (cl-block edebug--make-frame--cmacro
	(cl--defsubst-expand
	 '(evald fun args flags locals buffer pos def-name before-index after-index)
	 '(cl-block edebug--make-frame
	    (record 'edebug--frame evald fun args flags locals buffer pos def-name before-index after-index))
	 nil cl-whole nil evald fun args flags locals buffer pos def-name before-index after-index)))))