On Sun, 8 Nov 2020 at 18:27, Wolfgang Schuster <wolfgang.schuster.lists@gmail.com> wrote:
Sylvain Hubert schrieb am 08.11.2020 um 17:56:
> Hi Wolfgang,
>
> I'm sorry that the question was not clear enough. Let me ask in this way:
> how to define a \dorecurse, such that \dorecurse{10}{\type{a    b c}}
> does not squash the spaces?

Verbatim in arguments of other commands is tricky because in case with
\dorecurse the loop reads the content before it is passed to type, as a
result of this process all spaces are collapsed.

One way to work around this is to use a buffer for the content of the loop.

\startbuffer[type]
\type{a    b c}
\stopbuffer

\starttext
\dorecurse{10}{\inlinebuffer[type]\par}
\stoptext

Many thanks for the answer!
It seems that the buffer mechanism is quite a powerful resort for the macro language.

Sylvain