Behaviour specific to copies of the template genre.
§1. Scanning metadata. Metadata for website templates — or rather, the complete lack of same — is stored in the following structure.
typedef struct inform_template { struct inbuild_copy *as_copy; struct semantic_version_number version; CLASS_DEFINITION } inform_template;
- The structure inform_template is accessed in 1/sm, 2/edt, 2/cps, 2/rqr, 2/nst, 2/jm, 3/bg, 3/ib, 3/is3, 4/em, 4/ebm, 5/es, 5/ks, 5/ls, 5/ps, 5/ps2, 6/st, 6/hdn, 6/inc, 6/vmg, 7/tm, 7/eip, 7/ti, 7/tc, 7/dc, 7/dr and here.
§2. This is called as soon as a new copy C of the language genre is created.
void Templates::scan(inbuild_copy *C) { inform_template *T = CREATE(inform_template); T->as_copy = C; T->version = VersionNumbers::null(); if (C == NULL) internal_error("no copy to scan"); Copies::set_metadata(C, STORE_POINTER_inform_template(T)); }