Subject: bug#51832: Piping unicode text in `shell-command'

From: Lars Ingebrigtsen <[email-masked]>
Date: Sun, 14 Nov 2021 08:53:51 +0100

Eli Zaretskii <[email-masked]> writes:

>> Running
>> 
>>   (shell-command "echo -n '悟' | pbcopy")
>> 
>> or
>> 
>>   (shell-command "echo -n 'øøøø' | pbcopy")
>> 
>> fills the clipboard with `ÊÇü' and `√∏', respectively, while if I run
>> the same commands in a terminal emulator outside Emacs I get back the
>> original input.  The same happens if I run the same shell commands in
>> `eshell'.  This happens when I run a recent build of Emacs 29 with `-Q'
>> on macOS Catalina.
>
> Please be specific about the "recent build" part: which commit are you
> using?

I'm seeing the same issue with the current tree on Macos.

> There were some problems with the clipboard that were recently fixed.

This doesn't involve Emacs' interactions with the clipboard, though --
the pbcopy command is what's putting things on the clipboard.  But
pbcopy's apparently misinterpreting the bytes it's getting over the pipe
somehow, which is surprising, because I assumed shell-command just sent
the entire string to a shell for execution.  (But I haven't read the
code.)

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no