From: Johannes Schindelin Date: Fri, 20 Mar 2026 07:55:54 GMT Subject: Re: [PATCH] regex: not all macOS platforms seem to have REG_ENHANCED Message-ID: <6636e7d2-7a1d-0108-2e62-af27a3ae3cf3@gmx.de> In-Reply-To: Hi Junio, On Fri, 20 Mar 2026, Junio C Hamano wrote: > Earlier, 54463d32 (use enhanced basic regular expressions on macOS, > 2023-01-08) started to use the REG_ENHANCED option when ERE is not > in use on macOS. The build seems to have started failing on > macos-14 CI jobs at GitHub, however, as apparently not all the macOS > platforms have this flag defined. > > Signed-off-by: Junio C Hamano > --- > compat/regcomp_enhanced.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/compat/regcomp_enhanced.c b/compat/regcomp_enhanced.c > index 84193ce53b..51e1358170 100644 > --- a/compat/regcomp_enhanced.c > +++ b/compat/regcomp_enhanced.c > @@ -3,7 +3,9 @@ > > int git_regcomp(regex_t *preg, const char *pattern, int cflags) > { > +#ifdef REG_ENHANCED > if (!(cflags & REG_EXTENDED)) > cflags |= REG_ENHANCED; > +#endif While this lets the build pass, it _does_ change behavior. Where previously, EREs were enforced, now BREs are silently enforced. So it might be desirable to instead imitate what `meson.build` does, namely define `USE_ENHANCED_BASIC_REGULAR_EXPRESSIONS` on macOS when compiling with `clang`. But that should already be the case: https://gitlab.com/git-scm/git/-/blob/v2.53.0/config.mak.uname#L151 > ifeq ($(uname_S),Darwin) > [...] > USE_ENHANCED_BASIC_REGULAR_EXPRESSIONS = YesPlease So: hmm. Ciao, Johannes > return regcomp(preg, pattern, cflags); > } > -- > 2.53.0-816-g44373249a2 > > >