Function: mh-make-buffer-data--cmacro
mh-make-buffer-data--cmacro is a function defined in mh-mime.el.gz.
Signature
(mh-make-buffer-data--cmacro CL-WHOLE &cl-quote &key HANDLES HANDLES-CACHE PARTS-COUNT PART-INDEX-HASH)
Documentation
compiler-macro for inlining mh-make-buffer-data.
Source Code
;; Defined in /usr/src/emacs/lisp/mh-e/mh-mime.el.gz
;; Closure converted to defun by helpful.
(defun mh-make-buffer-data--cmacro
(cl-whole &rest --cl-rest--)
"compiler-macro for inlining `mh-make-buffer-data'.\n\n\\(fn CL-WHOLE &cl-quote &key HANDLES HANDLES-CACHE PARTS-COUNT PART-INDEX-HASH)"
(let*
((handles
(car
(cdr
(plist-member --cl-rest-- ':handles))))
(handles-cache
(car
(cdr
(or
(plist-member --cl-rest-- ':handles-cache)
'(nil
(make-hash-table))))))
(parts-count
(car
(cdr
(or
(plist-member --cl-rest-- ':parts-count)
'(nil 0)))))
(part-index-hash
(car
(cdr
(or
(plist-member --cl-rest-- ':part-index-hash)
'(nil
(make-hash-table)))))))
(progn
(let
((--cl-keys-- --cl-rest--))
(while --cl-keys--
(cond
((memq
(car --cl-keys--)
'(:handles :handles-cache :parts-count :part-index-hash :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 (:handles :handles-cache :parts-count :part-index-hash)"
(car --cl-keys--))))))
(cl-block mh-make-buffer-data--cmacro
(cl--defsubst-expand
'(handles handles-cache parts-count part-index-hash)
'(cl-block mh-make-buffer-data
(record 'mh-buffer-data handles handles-cache parts-count part-index-hash))
nil cl-whole nil handles handles-cache parts-count part-index-hash)))))