On 5/2/2022 9:37 AM, Denis Maier via ntg-context wrote:
Hi,
I’ve just ran into a behaviour that runs against what is shown on the wiki, https://wiki.contextgarden.net/System_Macros/Comma_Separated_Lists https://wiki.contextgarden.net/System_Macros/Comma_Separated_Lists
Maybe a bug?
More a feature as \define defines a protected macro. \starttext \define\somelist{foo,bar,baz} {\tt\meaningasis\somelist} \getcommacommandsize[\somelist] \commalistsize \defineexpandable\somelist{foo,bar,baz} {\tt\meaningasis\somelist} \getcommacommandsize[\somelist] \commalistsize \starttexdefinition protected somelist foo, bar, baz \stoptexdefinition {\tt\meaningasis\somelist} \getcommacommandsize[\somelist] \commalistsize \starttexdefinition somelist foo, bar, baz \stoptexdefinition {\tt\meaningasis\somelist} \getcommacommandsize[\somelist] \commalistsize \semiprotected\def\somelist{foo,bar,baz} \getcommacommandsize[\somelist] \commalistsize \getcommacommandsize[\semiexpanded{\somelist}] \commalistsize % also in next version: % % \starttexdefinition semiprotected somelist % foo, % bar, % baz % \stoptexdefinition % % {\tt\meaningasis\somelist} % % \getcommacommandsize[\somelist] \commalistsize % \getcommacommandsize[\semiexpanded{\somelist}] \commalistsize \stoptext The semiprotected is something lmtx and only expands when explicitly asked for (like in an \edef or so). Something that we might apply in the core some day. 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 -----------------------------------------------------------------