Subject: Re: bug#45342: 28.0.50; Native compiled function returns raw bytes, not string

From: Eli Zaretskii <[email-masked]>
Date: Sun, 20 Dec 2020 19:56:02 +0200

> From: Alexander Miller <[email-masked]>
> Date: Sun, 20 Dec 2020 18:36:46 +0100
> 
> In my config I have the following function that is used to prettify my
> mode-line (the actual version is pure and side-effect-free and inlined,
> but that does not seem to have any effect here):
> 
> (defun f (n)
>    (pcase n
>      (1 " ➊") (2 " ➋") (3 " ➌") (4 " ➍") (5 " ➎") (6 " ➏")
>      (7 " ➐") (8 " ➑") (9 " ➒") (10 " ➓") (_ "")))
> 
> When native compiled it appears to return raw bytes instead of the
> unicode symbols, for example I am seeing \342\236\212 instead of ➊.

\342\236\212 is the UTF-8 encoding of ➊.  Which probably means the
native-compiled function returns a unibyte string instead of a
multibyte string, for some reason.