From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Philipp Stephani
>=C2=A0 =C2=A0 =C2=A0> No matter what we expect or tolerate, we n= eed to state that.
>
>=C2=A0 =C2=A0 =C2=A0No, we don't. When the callers violate the cont= ract, they cannot
>=C2=A0 =C2=A0 =C2=A0expect to know in detail what will happen. If they = want to know, they
>=C2=A0 =C2=A0 =C2=A0will have to read the source.
>
> So you want this to be unspecified or undefined behavior? That might b= e OK (we
> already have that in several places), but we still need to state what = the
> contract is.
You can call it "undefined behavior" if you want.=C2=A0 Personall= y, I don't
think that's accurate: "undefined" means anything can happen,= whereas
Emacs at least promises to output the original bytes unchanged, as
long as the text modifications didn't touch them.
>=C2=A0 =C2=A0 =C2=A0> An Emacs string is a sequence of integers.
>
>=C2=A0 =C2=A0 =C2=A0No, it's a sequence of bytes.
>
> From
> https://www.gnu.org= /software/emacs/manual/html_node/elisp/String-Basics.html:
> "In Emacs Lisp, characters are simply integers ... A string is a = fixed sequence
> of characters"
That's the _User_ manual, it simplifies things to avoid too much
complexity.