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

From: Alan Third <[email-masked]>
Date: Thu, 1 Jul 2021 20:56:51 +0100

On Thu, Jul 01, 2021 at 10:03:09PM +0300, Eli Zaretskii wrote:
> > 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.

I'm glad I asked about this because I had completely misunderstood how
multibyte strings are represented. This makes a lot more sense.

Thanks!
-- 
Alan Third