Subject: Re: bug#49271: 28.0.50: native-comp: Signing macOS self-contained .app bundle fails due to new *.eln location

From: Eli Zaretskii <[email-masked]>
Date: Thu, 01 Jul 2021 22:03:09 +0300

> Date: Thu, 1 Jul 2021 19:45:46 +0100
> From: Alan Third <[email-masked]>
> Cc: [email-masked], [email-masked]
> 
> > It should work, although I'd prefer writing such code the other way
> > around: first create an uninitialized Lisp string (with
> > make_uninit_multibyte_string or make_uninit_string), then copy the
> > bytes while making the conversions.  The reason for this preference is
> > that you could then make sure the produced string has the same
> > multibyte-ness as the original, whereas the way you did it relies on
> > whatever build_string decides, which is not necessarily the same.
> 
> Thanks. I think the attached is doing what you suggested.

Yes.  But I think you can simplify (and make it a tad faster) if you
just copy bytes in either case.  Since a multibyte string is
represented by a superset of UTF-8, you are guaranteed that no
multibyte sequence will ever include '.'.  So converting from
multibyte sequences to characters and back, as well as calls to
string_char_advance, can be avoided.

Thanks.