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 (1)

cl--typeof-typesAlist of supertypes.

Defined functions (59)

cl--assertion-failed(FORM &optional STRING SARGS ARGS)
cl--class-allparents(CLASS)
cl--class-docstring(CL-X)
cl--class-docstring--cmacro(CL-WHOLE-ARG CL-X)
cl--class-index-table(CL-X)
cl--class-index-table--cmacro(CL-WHOLE-ARG CL-X)
cl--class-name(CL-X)
cl--class-name--cmacro(CL-WHOLE-ARG CL-X)
cl--class-p(CL-X)
cl--class-p--cmacro(CL-WHOLE-ARG CL-X)
cl--class-parents(CL-X)
cl--class-parents--cmacro(CL-WHOLE-ARG CL-X)
cl--class-slots(CL-X)
cl--class-slots--cmacro(CL-WHOLE-ARG CL-X)
cl--copy-slot-descriptor(SLOT)
cl--copy-slot-descriptor-1(ARG)
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-X)
cl--slot-descriptor-initform--cmacro(CL-WHOLE-ARG CL-X)
cl--slot-descriptor-name(CL-X)
cl--slot-descriptor-name--cmacro(CL-WHOLE-ARG CL-X)
cl--slot-descriptor-props(CL-X)
cl--slot-descriptor-props--cmacro(CL-WHOLE-ARG CL-X)
cl--slot-descriptor-type(CL-X)
cl--slot-descriptor-type--cmacro(CL-WHOLE-ARG CL-X)
cl--struct-class-children-sym(CL-X)
cl--struct-class-children-sym--cmacro(CL-WHOLE-ARG CL-X)
cl--struct-class-docstring(CL-X)
cl--struct-class-docstring--cmacro(CL-WHOLE-ARG CL-X)
cl--struct-class-index-table(CL-X)
cl--struct-class-index-table--cmacro(CL-WHOLE-ARG CL-X)
cl--struct-class-name(CL-X)
cl--struct-class-name--cmacro(CL-WHOLE-ARG CL-X)
cl--struct-class-named(CL-X)
cl--struct-class-named--cmacro(CL-WHOLE-ARG CL-X)
cl--struct-class-p(CL-X)
cl--struct-class-p--cmacro(CL-WHOLE-ARG CL-X)
cl--struct-class-parents(CL-X)
cl--struct-class-parents--cmacro(CL-WHOLE-ARG CL-X)
cl--struct-class-print(CL-X)
cl--struct-class-print--cmacro(CL-WHOLE-ARG CL-X)
cl--struct-class-slots(CL-X)
cl--struct-class-slots--cmacro(CL-WHOLE-ARG CL-X)
cl--struct-class-tag(CL-X)
cl--struct-class-tag--cmacro(CL-WHOLE-ARG CL-X)
cl--struct-class-type(CL-X)
cl--struct-class-type--cmacro(CL-WHOLE-ARG CL-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-slot-descriptor-p(CL-X)
cl-slot-descriptor-p--cmacro(CL-WHOLE-ARG CL-X)
cl-struct-define(NAME DOCSTRING PARENT TYPE NAMED SLOTS CHILDREN-SYM TAG PRINT)
cl-struct-p(CL-X)
cl-struct-p--cmacro(CL-WHOLE-ARG CL-X)

Defined faces (0)