Function: make-xref-buffer-location--cmacro
make-xref-buffer-location--cmacro is a function defined in xref.el.gz.
Signature
(make-xref-buffer-location--cmacro CL-WHOLE &cl-quote &key BUFFER POSITION)
Documentation
compiler-macro for inlining make-xref-buffer-location.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/xref.el.gz
;; Closure converted to defun by helpful.
(defun make-xref-buffer-location--cmacro
(cl-whole &rest --cl-rest--)
"compiler-macro for inlining `make-xref-buffer-location'.\n\n\\(fn CL-WHOLE &cl-quote &key BUFFER POSITION)"
(let*
((buffer
(car
(cdr
(plist-member --cl-rest-- ':buffer))))
(position
(car
(cdr
(plist-member --cl-rest-- ':position)))))
(progn
(let
((--cl-keys-- --cl-rest--))
(while --cl-keys--
(cond
((memq
(car --cl-keys--)
'(:buffer :position :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 (:buffer :position)"
(car --cl-keys--))))))
(cl-block make-xref-buffer-location--cmacro
(cl--defsubst-expand
'(buffer position)
'(cl-block make-xref-buffer-location
(record 'xref-buffer-location buffer position))
nil cl-whole nil buffer position)))))