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
___________________________________________________________________________________

Reply via email to