Subject: Re: bug#12925: 24.1; string-make-unibyte instead of string-as-unibyte

From: Eli Zaretskii <[email-masked]>
Date: Tue, 01 Jun 2021 14:56:39 +0300

> From: Lars Ingebrigtsen <[email-masked]>
> Date: Tue, 01 Jun 2021 09:02:13 +0200
> Cc: [email-masked], Ethan Glasser-Camp <[email-masked]>
> 
> Stefan Monnier <[email-masked]> writes:
> 
> >> Why does inserting multibyte text into a unibyte buffer corrupt it
> >> like this?
> >
> > Because the right thing (i.e. signaling an error) was not backward
> > compatible with broken code that assumed that chars can be presented
> > with 8bit (i.e. code written in the glory days of latin-N, koi-8, ...).
> >
> > We could/should probably try to do the right thing now, since such
> > broken code is probably much less common.
> 
> (Now eight years later.)
> 
> So the suggestion is to make inserting multibyte strings into a unibyte
> buffer signal an error (instead of inserting the lower byte of
> characters).
> 
> Has anybody experimented with doing this and seeing whether this signals
> a lot of errors in daily usage?

Why not make both methods do the same: insert the bytes of the
multibyte text into the unibyte buffer?

Making the buffer unibyte after insertion is a PITA, because it could
be very slow if the text in the buffer is long.  That's why people may
wish to do it the other way around: making an empty buffer unibyte is
a snap.