Hi, a new upload - some keywords renamed in the engine and therefore more split between mkiv and lmtx (hopefully i included all files) .. if something doesn't work any more it might be because i missed a rename. - i finally decied that it does make sense to have native loops at the primitive level (after all, metapost as macro language also has them) and although much is possible in macros it doesn't mean we have to do it the (often ugly and showing-off-by-abusing-side-effects way). We have just a constructor: \unexpandedloop 1 100 1 {.} and a fully expandable one for e.g. use in \edef: \expandedloop 1 100 1 {.} plus an also fully expandable one for anywhere but with potential side effects (out of order local loops): \localcontrolledloop 1 100 1 {.} complemented by a few status primitives (integers, use \the or \number to serialize them): \currentloopiterator \currentloopnesting and a quitter that aborts at the next iteration: \quitloop as usual it's experimental for a while. Among the rationales are 'less tracing clutter', 'performance' and 'more natural primitive tex coding' (but that one is personal). Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------