Function: make-sgml-tag--cmacro
make-sgml-tag--cmacro is a function defined in sgml-mode.el.gz.
Signature
(make-sgml-tag--cmacro CL-WHOLE &cl-quote &key TYPE START END NAME)
Documentation
compiler-macro for inlining make-sgml-tag.
Source Code
;; Defined in /usr/src/emacs/lisp/textmodes/sgml-mode.el.gz
;; Closure converted to defun by helpful.
(defun make-sgml-tag--cmacro
(cl-whole &rest --cl-rest--)
"compiler-macro for inlining `make-sgml-tag'.\n\n\\(fn CL-WHOLE &cl-quote &key TYPE START END NAME)"
(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))))
(name
(car
(cdr
(plist-member --cl-rest-- ':name)))))
(progn
(let
((--cl-keys-- --cl-rest--))
(while --cl-keys--
(cond
((memq
(car --cl-keys--)
'(:type :start :end :name :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 :name)"
(car --cl-keys--))))))
(cl-block make-sgml-tag--cmacro
(cl--defsubst-expand
'(type start end name)
'(cl-block make-sgml-tag
(record 'sgml-tag type start end name))
nil cl-whole nil type start end name)))))