Subject: bug#65908: 29.1.50; Emacs 29 regresses on macOS

From: Gerd Möllmann <[email-masked]>
Date: Thu, 05 Oct 2023 20:33:02 +0200

Alan Third <[email-masked]> writes:

> When I do "LANG=" it's trying to set the local to the empty string
> because we only check if LANG is null, which it's not, it's the empty
> string (I think) and that's resulting in a locale like (C-u M-! locale):
>
>     LANG=
>     LC_COLLATE="C"
>     LC_CTYPE="C"
>     LC_MESSAGES="C"
>     LC_MONETARY="C"
>     LC_NUMERIC="C"
>     LC_TIME="C"
>     LC_ALL="C"

That's a good point.  I should also check if LANG is set but empty,
because "" changes the meaning of setlocale.  I'll commit that in a
second :-).

> I don't think this is conclusive proof, but I think that either git or
> VC have a problem with a slightly broken locale. I'm not saying
> there's a bug here, it could simply be that we call git many times and
> it's having to work out the locale each time from the dodgy input I've
> given it.

Yeah, to me that makes a lot of sense.