[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]

A list defines a group very much like cat  but it also gives a scope for
props (see below).  and unlike cats, lists should not be merged without
understanding their contents.

Structurally, a list is a chunk with ckid "list" containing a "contents
type" ID, optional shared properties, and the nested contents (forms,
LISTs, and cat s), in that order.  the cksize of each contained chunk is a
relative pointer to the next one.  A LIST is not an arbitrary linked
list - the cells are simply concatenated.

    LIST         ::= "LIST" #{ ContentsType PROP* (FORM | LIST | CAT)* }
    ContentsType ::= ID