Hi,
I compiled this C#/Mono program on an UTF-8 GNU/Linux System
using System;
public class Hello
{
static void Main()
{
Console.WriteLine("STDOUT");
Console.Error.WriteLine("STDERR");
}
}
and used this elisp code to get the process output:
(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.
there is now way to handle stderr separately. I made this workaround for the Emacs fsharp-mode:
Are there any better solutions?
Jürgen