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
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://context.aanhet.net
archive : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___________________________________________________________________________________