help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: on eshell's encoding


From: Eli Zaretskii
Subject: Re: on eshell's encoding
Date: Wed, 27 Jul 2016 19:14:24 +0300

> From: Daniel Bastos <dbastos@toledo.com>
> Date: Wed, 27 Jul 2016 08:56:31 -0300
> 
> >> You're right.  This is MS-Windows.  But I thought MS-Windows would not
> >> interfere here.  Why does it interfere?  I thought the messages would go
> >> straight into git's ARGV.
> >
> > How can it go "straight"?  
> 
> I meant not being messed with.  I don't know anything about MS-Windows.
> In UNIX the creation of a new process by a shell is likely to call
> execve, which won't touch the caller strings passed in through the
> argv-argument.

Like I said, Eshell is not a shell, it just pretends to be one.  It
will eventually cause execve, or something like it, to be called, but
before it, the command-line arguments will be encoded in the locale's
encoding, since that's what execve expects.  This is true on Windows
and on Unix alike.  So in this case, the command-line arguments are
always "messed with" in Emacs.  If your locale happens to use UTF-8,
then it will _almost_ look as if the arguments were passed to execve
untouched, but that's an illusion, and is certainly incorrect when the
locale's codeset is not UTF-8 (which is always true on Windows).



reply via email to

[Prev in Thread] Current Thread [Next in Thread]