One of the requirements for the string replacement code
was to take the best possible source xstring based on
the replacement tokens provided, which implied there
was more than one source xstring. Currently all
candidate strings are stored in a context, but this
should be avoided in the case when you have one xstring
and just want to flesh it out with replacement markers.