No one answered this question but to answer my own question I did notice
that since I posted this, there have been changes to parse.Rd in the
development version of R:
https://svn.r-project.org/R/trunk/src/library/base/man/parse.Rd
indicating:
a limit of 8192 bytes on the size of strings
In gsubfn I replace matches with strings that represent calls to a function
and then perform paste(eval(parse(text= ...)), collapse = ) on the result.
One user of gsubfn is using it with very long strings (over 20,000 characters)
and the parse is giving an input buffer overflow. Here is an