Confirming that, as Jelmer hinted, the issue is lazy_regexp monkey-patching re.compile.
re.compile calls re._compile.
The issue is that, gettext now use re.finditer which calls re._compile with a LazyRegexp created by a first call to re.compile (for _token_pattern for that matter). I.e. it escapes the proxying.
Confirming that, as Jelmer hinted, the issue is lazy_regexp monkey-patching re.compile.
re.compile calls re._compile.
The issue is that, gettext now use re.finditer which calls re._compile with a LazyRegexp created by a first call to re.compile (for _token_pattern for that matter). I.e. it escapes the proxying.