Hi Jairo,
ConTeXt's \unexpanded is e-TeX's \protected, so the error boils down to
something like: \edef\x{\unexpanded{#}}, which works in Plain but not in
ConTeXt.
Usually packages that claim to be generic have to cope with that.
xstring would need to do (in a ConTeXt-specific loader):
\let\xstring@unexpanded\normalunexpanded
and
\let\xstring@unexpanded\unexpanded
in Plain and LaTeX loaders, then then use \xstring@unexpanded in the
code. But `xstring` doesn't claim (that I found, at least) to be
compatible with ConTeXt, so it's understandable: though if it is
compatible with Plain, it wouldn't be hard to adapt to ConTeXt.
That said, you can load `xstring` if you do:
\let\unexpanded\normalunexpanded
\input xstring.tex
\let\unexpanded\protected
but the internals of the package will probably be comprimised by the
misuse of (ConTeXt) \unexpanded.
Phelype
On Tue, Jul 7, 2020 at 3:40 PM Jairo A. del Rio
Reading about macro bundles meant to be generic (format agnostic), some of them work in plain/LaTeX, but crash when loaded on ConTeXt. The following happens with xstring.tex
tex error > tex error on line 372 in file xstring.tex: ! Illegal parameter number in definition of \xs_reserved_C
<to be read again>
1
\xs_newlines ->\unexpanded {}\xs_def \xs_arg_i {##1
}
\xs_newmacro_ ...name \xs_myarg }\edef \xs_reserved_C {\unexpanded \expandafter {\xs_newlines
}\edef \noexpand \xs_call }\edef \xs_reserved_D {...
l.372 \xs_newmacro\StrRemoveBraces{}{1}{1}
{%
<empty file>
You meant to type ## instead of #, right? Or maybe a } was forgotten somewhere
earlier, and things are all screwed up? I'm going to assume that you meant ##.
I've tried changing the catcode regime, but with no effect.
Don't misunderstand me. I'm aware of ConTeXt capabilities and string manipulation via Lua. My question is more like: "Why doesn't xstring.tex?"
Sorry if my question is outside the scope of ConTeXt developers/maintainers. Thank you very much.
Jairo :)
___________________________________________________________________________________ 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 ___________________________________________________________________________________