Thank you very much! Something else happens:

\applytosplitstringwordspaced\somemacro{Content and {\tt typewriter} more content}

either ignores braced groups or ignores macros AND prints braces "{" and "}" as if it were in verbatim mode depending on the content being on the document or loaded via Lua, even when context.escape is used. How to keep {\it braced content}? Thank you in advance.

Jairo :)

El sáb., 8 de ago. de 2020 a la(s) 08:34, Hans Hagen (j.hagen@xs4all.nl) escribió:
On 8/8/2020 12:00 PM, Wolfgang Schuster wrote:
> Jairo A. del Rio schrieb am 08.08.2020 um 10:14:
>> Hi, list! :D
>> I've found \applytosplitstringwordspaced and many other commands
>> reading on the mailing list and TeX StackExchange. An issue with those
>> is: the following does not work:
>>
>> \applytosplitstringwordspaced\somemacro{\input knuth}
>>
>> It only works with explicit TeX "words". How to circumvent this
>> inconvenience? Thanks in advance.
>
> You can't feed knuth.tex to the command because it contains multiple
> paragraphs but even when your file contains only a single paragraph it
> isn't perfect because the linebreak after the last line contains as
> extra word (seen in the first paragraph below).
>
> To use \input as argument for \applytosplitstringwordspaced you need a
> few \expandafter's to ensure the file is read before the argument is
> passed to Lua. A easier method is to move everything to Lua where you
> read the file and put it in a string, afterward you can use the CLD
> mechanism to call \applytosplitstringwordspaced from Lua.
>
> \unexpanded\def\somemacro#1{[#1]}
>
> \starttext
>
> \expandafter\applytosplitstringwordspaced\expandafter\somemacro\expandafter{\input
> weisman }
>
> \blank
>
> \startluacode
>
> -- local ward = io.loaddata(resolvers.findfile("ward.tex"))
> local ward = string.fullstrip(io.loaddata(resolvers.findfile("ward.tex")))
>
> context.applytosplitstringwordspaced ( "\\somemacro", ward )
>
> \stopluacode
>
> \stoptext
just a remark: knuth.tex is tricky becauss it also has \TeX and \ and
such, so one needs to escape it, as in:

context.applytosplitstringwordspaced (
   "\\somemacro",
   context.escape(ward)
)


-----------------------------------------------------------------
                                           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
___________________________________________________________________________________