Function: clojure--make-form--cmacro
clojure--make-form--cmacro is a function defined in clojure-mode.el.
Signature
(clojure--make-form--cmacro CL-WHOLE &cl-quote &key TYPE START END CHILDREN NAME NAMESPACE META-START)
Documentation
compiler-macro for clojure--make-form.
Source Code
;; Defined in ~/.emacs.d/elpa/clojure-mode-20261103.1226/clojure-mode.el
;; Could not find source code, showing raw function object.
#[(cl-whole &rest --cl-rest--)
((let*
((type (car (cdr (plist-member --cl-rest-- ':type))))
(start (car (cdr (plist-member --cl-rest-- ':start))))
(end (car (cdr (plist-member --cl-rest-- ':end))))
(children (car (cdr (plist-member --cl-rest-- ':children))))
(name (car (cdr (plist-member --cl-rest-- ':name))))
(namespace (car (cdr (plist-member --cl-rest-- ':namespace))))
(meta-start
(car (cdr (plist-member --cl-rest-- ':meta-start)))))
(progn
(let ((--cl-keys-- --cl-rest--))
(while --cl-keys--
(cond
((memq (car --cl-keys--)
'(:type :start :end :children :name :namespace
:meta-start :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 (:type :start :end :children :name :namespace :meta-start)"
(car --cl-keys--))))))
(cl-block clojure--make-form--cmacro
(cl--defsubst-expand
'(type start end children name namespace meta-start)
'(cl-block clojure--make-form
(record 'clojure--form type start end children name
namespace meta-start))
nil cl-whole nil type start end children name namespace
meta-start)))))
(cl-struct-clojure--form-tags) nil
"compiler-macro for `clojure--make-form'.\n\n(fn CL-WHOLE &cl-quote &key TYPE START END CHILDREN NAME NAMESPACE META-START)"]