Subject: bug#15260: cannot build in a directory with non-ascii characters

From: Eli Zaretskii <[email-masked]>
Date: Wed, 30 Oct 2013 20:19:56 +0200

I bumped into this as part of digging into this bug report: there's a
strange inconsistency between make_string and string_to_multibyte (or
maybe it's just that the "multibyte" part of the name is overloaded).

Specifically, if you pass a unibyte string through string_to_multibyte,
it will produce a multibyte string, as expected.  But if SDATA of the
resulting multibyte string, or any of its derivatives, is passed to
make_string, the latter will decide that it must make a unibyte string!
This is because parse_str_as_multibyte, called internally by
make_string, considers the multibyte representation of 8-bit bytes as
a sign that the string produced from these bytes must be unibyte.

Why do we have this confusing inconsistency?