The following example works with older versions of ConTeXt, such as the version from 20150325 in my repository. It fails with TL15 and later, including the current standalone beta. % macros=mkvi \setwidthof {99}\to\IDWidth\relax \def\STWidth{\dimexpr\textwidth-\IDWidth+1cm} \definelist[OList] \setuplist [OList][criterium=all,alternative=c,pagecommand=\gobbleoneargument] \starttexdefinition OLister #ID#String {\writetolist[OList]{}{\hbox{\simplealignedbox{\IDWidth}{left}{#ID\quad} {\doboundtext{#String}{\STWidth}{…}}}}} \stoptexdefinition \starttext \OLister1{Some list testing text xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx} \OLister2{Yet another list testing text xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx} \OLister3{A list testing text xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx} \OLister4{Different list testing text xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx} \subject{List half width} \startcolumns[n=2] \placelist[OList] \stopcolumns \stoptext With the 20150325 ConTeXt, there are .tuc file entries like: ["second"]="\\hbox {\\simplealignedbox {\\IDWidth }{left}{2\\quad }{\\doboundtext {Yet another list testing text xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx}{\\STWidth }{…}}}", but with more recent versions, the corresponding entry is: ["second"]="\\hbox {\\simplealignedbox {12.6pt}{left}{2\\quad }{\\hbox {\\setbox \\scratchbox \\hbox {Yet another list testing text xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx}\\scratchdimen \\dimexpr \\textwidth -12.6pt+1cm\\relax \\box \\scratchbox }}}", -- Rik