File: cl-preloaded.el.html

The cl-defstruct macro is full of circularities, since it uses the cl-structure-class type (and its accessors) which is defined with itself, and it setups a default parent (cl-structure-object) which is also defined with cl-defstruct, and to make things more interesting, the class of cl-structure-object is of course an object of type cl-structure-class while cl-structure-class's parent is cl-structure-object. Furthermore, the code generated by cl-defstruct generally assumes that the parent will be loaded when the child is loaded. But at the same time, the expectation is that structs defined with cl-defstruct do not need cl-lib at run-time, which means that the cl-structure-object parent can't be in cl-lib but should be preloaded. So here's this preloaded circular setup.

Defined variables (0)

Defined functions (88)

(setf built-in-class-docstring)(built-in-class-docstring\) VAL X)
(setf built-in-class-index-table)(built-in-class-index-table\) VAL X)
(setf built-in-class-name)(built-in-class-name\) VAL X)
(setf built-in-class-parents)(built-in-class-parents\) VAL X)
(setf built-in-class-slots)(built-in-class-slots\) VAL X)
(setf cl-derived-type-class-docstring)(cl-derived-type-class-docstring\) VAL X)
(setf cl-derived-type-class-index-table)(cl-derived-type-class-index-table\) VAL X)
(setf cl-derived-type-class-name)(cl-derived-type-class-name\) VAL X)
(setf cl-derived-type-class-parents)(cl-derived-type-class-parents\) VAL X)
(setf cl-derived-type-class-slots)(cl-derived-type-class-slots\) VAL X)
built-in-class--make(NAME DOCSTRING PARENT-TYPES)
built-in-class-docstring(built-in-class-docstring X)
built-in-class-index-table(built-in-class-index-table X)
built-in-class-name(built-in-class-name X)
built-in-class-p(X)
built-in-class-parents(built-in-class-parents X)
built-in-class-slots(built-in-class-slots X)
cl--assertion-failed(FORM &optional STRING SARGS ARGS)
cl--builtin-type-p(NAME)
cl--class-allparents(CLASS)
cl--class-docstring(cl--class-docstring X)
cl--class-docstring--inliner(INLINE--FORM X)
cl--class-index-table(cl--class-index-table X)
cl--class-index-table--inliner(INLINE--FORM X)
cl--class-name(cl--class-name X)
cl--class-name--inliner(INLINE--FORM X)
cl--class-p(X)
cl--class-p--inliner(INLINE--FORM X)
cl--class-parents(cl--class-parents X)
cl--class-parents--inliner(INLINE--FORM X)
cl--class-slots(cl--class-slots X)
cl--class-slots--inliner(INLINE--FORM X)
cl--copy-slot-descriptor(SLOT)
cl--copy-slot-descriptor-1(ARG)
cl--define-built-in-type(NAME PARENTS &optional DOCSTRING &rest SLOTS)
cl--define-derived-type(NAME EXPANDER PREDICATE &optional PARENTS)
cl--derived-type-class-make(NAME DOCSTRING PARENT-TYPES)
cl--make-slot-descriptor(NAME &optional INITFORM TYPE PROPS)
cl--make-slot-descriptor--cmacro(CL-WHOLE-ARG NAME &optional INITFORM TYPE PROPS)
cl--plist-to-alist(PLIST)
cl--slot-descriptor-initform(cl--slot-descriptor-initform X)
cl--slot-descriptor-initform--inliner(INLINE--FORM X)
cl--slot-descriptor-name(cl--slot-descriptor-name X)
cl--slot-descriptor-name--inliner(INLINE--FORM X)
cl--slot-descriptor-props(cl--slot-descriptor-props X)
cl--slot-descriptor-props--inliner(INLINE--FORM X)
cl--slot-descriptor-type(cl--slot-descriptor-type X)
cl--slot-descriptor-type--inliner(INLINE--FORM X)
cl--struct-class-children-sym(cl--struct-class-children-sym X)
cl--struct-class-children-sym--inliner(INLINE--FORM X)
cl--struct-class-docstring(cl--struct-class-docstring X)
cl--struct-class-docstring--inliner(INLINE--FORM X)
cl--struct-class-index-table(cl--struct-class-index-table X)
cl--struct-class-index-table--inliner(INLINE--FORM X)
cl--struct-class-name(cl--struct-class-name X)
cl--struct-class-name--inliner(INLINE--FORM X)
cl--struct-class-named(cl--struct-class-named X)
cl--struct-class-named--inliner(INLINE--FORM X)
cl--struct-class-p(X)
cl--struct-class-p--inliner(INLINE--FORM X)
cl--struct-class-parents(cl--struct-class-parents X)
cl--struct-class-parents--inliner(INLINE--FORM X)
cl--struct-class-print(cl--struct-class-print X)
cl--struct-class-print--inliner(INLINE--FORM X)
cl--struct-class-slots(cl--struct-class-slots X)
cl--struct-class-slots--inliner(INLINE--FORM X)
cl--struct-class-tag(cl--struct-class-tag X)
cl--struct-class-tag--inliner(INLINE--FORM X)
cl--struct-class-type(cl--struct-class-type X)
cl--struct-class-type--inliner(INLINE--FORM X)
cl--struct-get-class(NAME)
cl--struct-name-p(NAME)
cl--struct-new-class(NAME DOCSTRING PARENTS TYPE NAMED SLOTS INDEX-TABLE CHILDREN-SYM TAG PRINT)
cl--struct-new-class--cmacro(CL-WHOLE-ARG NAME DOCSTRING PARENTS TYPE NAMED SLOTS INDEX-TABLE CHILDREN-SYM TAG PRINT)
cl--struct-register-child(PARENT TAG)
cl-derived-type-class-docstring(cl-derived-type-class-docstring X)
cl-derived-type-class-index-table(cl-derived-type-class-index-table X)
cl-derived-type-class-name(cl-derived-type-class-name X)
cl-derived-type-class-p(X)
cl-derived-type-class-parents(cl-derived-type-class-parents X)
cl-derived-type-class-slots(cl-derived-type-class-slots X)
cl-functionp(OBJECT)
cl-slot-descriptor-p(X)
cl-slot-descriptor-p--inliner(INLINE--FORM X)
cl-struct-define(NAME DOCSTRING PARENT TYPE NAMED SLOTS CHILDREN-SYM TAG PRINT)
cl-struct-p(X)
cl-struct-p--inliner(INLINE--FORM X)
subr-native-elisp-p(OBJECT)

Defined faces (0)