Function: multisession--create--cmacro
multisession--create--cmacro is a function defined in
multisession.el.gz.
Signature
(multisession--create--cmacro CL-WHOLE &cl-quote &key KEY INITIAL-VALUE PACKAGE STORAGE SYNCHRONIZED CACHED-VALUE CACHED-SEQUENCE)
Documentation
compiler-macro for inlining multisession--create.
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/multisession.el.gz
;; Closure converted to defun by helpful.
(defun multisession--create--cmacro
(cl-whole &rest --cl-rest--)
"compiler-macro for inlining `multisession--create'.\n\n\\(fn CL-WHOLE &cl-quote &key KEY INITIAL-VALUE PACKAGE STORAGE SYNCHRONIZED CACHED-VALUE CACHED-SEQUENCE)"
(let*
((key
(car
(cdr
(plist-member --cl-rest-- ':key))))
(initial-value
(car
(cdr
(plist-member --cl-rest-- ':initial-value))))
(package
(car
(cdr
(plist-member --cl-rest-- ':package))))
(storage
(car
(cdr
(or
(plist-member --cl-rest-- ':storage)
'(nil multisession-storage)))))
(synchronized
(car
(cdr
(plist-member --cl-rest-- ':synchronized))))
(cached-value
(car
(cdr
(or
(plist-member --cl-rest-- ':cached-value)
'(nil multisession--unbound)))))
(cached-sequence
(car
(cdr
(or
(plist-member --cl-rest-- ':cached-sequence)
'(nil 0))))))
(progn
(let
((--cl-keys-- --cl-rest--))
(while --cl-keys--
(cond
((memq
(car --cl-keys--)
'(:key :initial-value :package :storage :synchronized :cached-value :cached-sequence :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 (:key :initial-value :package :storage :synchronized :cached-value :cached-sequence)"
(car --cl-keys--))))))
(cl-block multisession--create--cmacro
(cl--defsubst-expand
'(key initial-value package storage synchronized cached-value cached-sequence)
'(cl-block multisession--create
(record 'multisession key initial-value package storage synchronized cached-value cached-sequence))
nil cl-whole nil key initial-value package storage synchronized cached-value cached-sequence)))))