On Thu, Jun 25, 2015 at 7:28 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> From: Jürgen Hötzel <juergen@hoetzel.info>
> Date: Thu, 25 Jun 2015 18:41:50 +0200
>
> (let ((default-process-coding-system '(utf-8-with-signature .
> utf-8-with-signature)))
> (start-file-process
> "BOM"
> (generate-new-buffer "*bom-test*")
> "~/tmp/Hello.exe"))
>
> This results in the following process-buffer (hexl-mode):
>
> 00000000: efbb bf53 5444 4f55 540a 5354 4445 5252 ...STDOUT.STDERR
> 00000010: 0a0a 5072 6f63 6573 7320 424f 4d20 6669 ..Process BOM fi
> 00000020: 6e69 7368 6564 0a nished.
>
> The stdout BOM was correctly removed but the stderr BOM is still present.
>
> According to
> http://www.gnu.org/software/emacs/manual/html_node/elisp/Output-from-Processes.html
>
> there is now way to handle stderr separately. I made this workaround for the
> Emacs fsharp-mode:
>
> https://github.com/juergenhoetzel/fsharpbinding/commit/d0d3600c38d0e9f47a621583d0fc82685feda196
>
> Are there any better solutions?

You didn't tell what version of Emacs do you want this to be solved.

GNU Emacs 24.5.1