[NTG-context] \getcommacommandsize not working in lmtx
Hans Hagen
j.hagen at xs4all.nl
Mon May 2 11:53:59 CEST 2022
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
-----------------------------------------------------------------
More information about the ntg-context
mailing list