On Mon, May 15, 2017 at 1:57 PM, Nicolas Grekas
[email protected] wrote:
But as noted in the PR and even in the UPGRADING file, this is a BC break:
preg_match()and other PCRE functions now distinguish between unmatched
subpatterns and empty matches by reporting
NULLand "" (empty string),
respectively. Formerly, either was reported as empty string.
While trying to run Symfony's test suite against 7.2, we noticed that this
BC break is hitting several components badly. If Symfony is hit, there will
be many more userland code impacted for sure.
As written explicitly in the releasing policy of php-src, BC breaks must
not happen in minor versions. Therefore, I'm kindly but strongly asking for
this BC break to be reconsidered and removed.
I agree that a minimum 5 years old possible bug, quite small, causing
BC breaks is not good. As far as the fix is critical or justified, I
think it is sometimes ok to break BC for edge cases. However I do not
see this is not the case here.
@RMs revert for 7.2 and re evaluate for later?
I'm not against reverting the commit, but if we want to postpone this
change to PHP 8, I suggest not to set unmatched subpatterns at all,
then. The current solution has been an attempt to keep the BC break
small, but that apparently has failed.
Christoph M. Becker