all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* BOM (byte order mark) in process stdout and stderr
@ 2015-06-25 16:41 Jürgen Hötzel
  2015-06-25 17:28 ` Eli Zaretskii
  0 siblings, 1 reply; 4+ messages in thread
From: Jürgen Hötzel @ 2015-06-25 16:41 UTC (permalink / raw
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1148 bytes --]

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.

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?

Jürgen

[-- Attachment #2: Type: text/html, Size: 3574 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-06-25 19:37 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-25 16:41 BOM (byte order mark) in process stdout and stderr Jürgen Hötzel
2015-06-25 17:28 ` Eli Zaretskii
2015-06-25 18:37   ` Jürgen Hötzel
2015-06-25 19:37     ` Eli Zaretskii

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.