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

From: Gerd Möllmann <[email-masked]>
Date: Thu, 05 Oct 2023 13:12:10 +0200

Alan Third <[email-masked]> writes:

> On Thu, Oct 05, 2023 at 10:52:21AM +0200, Gerd Möllmann wrote:
>> Conclusion so far, for me,
>> 
>> - don't selocale in ns_init_locale, only setenv LANG, or set LC_CTYPE,
>>   maybe.
>
> setlocale in ns_init_locale is only there to check if the locale is
> valid, it resets it back to its initial value at the end.

That's okay.  What I meant was setting the old locale at the end.

>> - localeIndentifier is wrong for mixed cases like "en_DE".
>
> There was some trouble with warning messages in the terminal when
> using an invalid locale ID (see bug#51321), but that may only be
> because Daniel had changed the code to set LC_ALL instead of LANG.

Thanks, I'll take a look.

>
> I preferred setting LANG anyway because it acts as a fallback, and
> this is pretty much intended as a fallback, anything else explicitly
> set will override it.

I think that's TRT, indeed.

>
> Out of interest, when is it slow? Is it when we have an invalid locale
> ID?

That's an interesting question--whatever I do on master, it's almost
equally slow :-).

It would be nice if I could get at least the right character encoding on
my system...  On the plus side, I at least know now what's happening,
although I don't know what to do.

BTW, @ccsmile: What are your locale settings?

Aprt from that, I'm currently trying to get profiling working on my old
Macbook Pro, to compare the profiles of the 2 commits on emacs-29 which
show the difference.  That could maybe answer your question.

Buhut... I can't currently get Instruments to work, which might be
related to the fact that I've updated my unsupported by Apple Macbook to
Sonoma with OCLP.  Buhut -- maybe the new thunderbolt/magsafe cable for
my display arrives soon, so that I can use my Mac mini again.  A lot of
construction sites ahead :-).