Hi, btw, you probably noticed that mlist_to_hlist is called recursively so you might use that fact conceptually one could have callbacks at the make_* level (the wrapping things) which is kind of clean but that has not much use as work happens in those and duplicating all that happens in there in lua makes no sense a do_delimiter callback is only a partial solution as it is used in several places and also works in tandem with other constructs (rules for instance); also, you'd always have to keep in mind that other mechanisms expect (for instance) attributes to be retained, character properties to migrate to unicode (cut and paste), etc, but that can be dealt with, in that sense the name 'delimiter' is somewhat confusing (fwfw, in context we hardly use these constructs because we want to have more control and do fancy things) anyway, a dodelimiter callback is in some sense not so much a delimiter one, but more a constructor one as it kind of relates to fonts and not so much to math ... basically it could be something "create_extensible" or so which is then triggered inside e.g. do_delimiter i'll play with that a bit when i have time (i.e. what is the context we need to pass and what do we want back and what wrapup afterwards is needed) to see if it makes sense at all 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 -----------------------------------------------------------------