Trying to understand this issue a little bit more.
Actually, the failure I see occurs a little bit earlier in PCRE.tests, at lines :
/(cat(a(ract|tonic)|erpillar)) \1()2(3)/
cataract cataract23
0: cataract cataract23
1: cataract
2: aract
3: ract
-> 4:
5: 3
In function `regex-tests-PCRE', there are 4 cases testes in sequence, and in case of failure, there is a catch-all reset which sets the pattern back to nil.
The regex that should catch the line starting by "4:" is :
;; verification line: succeeded match
((save-excursion (re-search-forward "^ *\\([0-9]+\\): \\(.*\\)" nil t))
But notice that there is a space after the colon, so the line is not matched and the reset occurs in the test. The patter is set back to nil and there is a failure when
reaching the PCRE.tests line starting by "5:".
Could it be that there is a space in PCRE.tests at end of line "4: " and that git has removed it ?
Fabrice