On Feb 14, 2008, at 9:09 AM, Rich Bowen wrote:
On Feb 14, 2008, at 09:07, Jim Jagielski wrote:
It's not even just that "there is a second substitution" but rather
that the pattern/regex being looked for could possibly be the
result of a previous substition.
If you have to subs like
s/foo/bar/
s/plum/apple/
there is no way one could affect the other (or depend
on the other) so flattening is not required.
Yes, I understand that, but I figured it would probably take longer
to determine, on an arbitrary case, whether there was such an
overlap, than to perform the flattening.
So we adjust the default to flatten and update the docs to
say something like "if it is known in advance that there is no
overlap or potential overlap between substitutions (that the
result of one substitution cannot match the pattern or regex
for a later one), then substantial speed and memory utilization
improvements can be realized by using the 'quick' method" ??
My concerns are: (1) the default would be slower and more of a
memory hog, which seems opposite of our normal expectations
(2) the change (in default behavior as well as "dropping"
'f' (ignoring it actually) and adding 'q') would happen
between patch-level releases.
Both, of course, could be fixed by good docs, but than again,
so could, maybe, the current situation we're trying to fix...
I'm +0 either way, but if we decide to change, I'll work up the
patch to change the default and add 'q'