Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

RE: Zsh 4.0.4 and Emacs 21.1 in Windows XP



> 
> >Probably, you are using native emacs and Cygwin zsh. In this case
emacs
> >writes pipe to zsh in text mode (CR-LF under DOS) and zsh reads it in
> >binary mode (default for pipes under Cygwin). Please, look on
> >www.cygwin.com for description of CYGWIN variable, specifically
> >nobinmode. But I have no idea what effects may it have - it makes
Cygwin
> >read/write pipes in text (in DOS sense) mode which is O.K. for pure
text
> >but may break binary data.
> >
> >In general it is bad idea to mix native and Cygwin applications.
> >
> Yes, I think you nailed it here; my Emacs is compiled natively for
> Win32, and I guess zsh must be compiled with cygwin (I don't
remember).
>  And what you describe above sounds like it could be the cause -- I've
> traced it quite thoroughly in emacs and it's definitely NOT sending a
> CR, only LF.  So it must be zsh/cygwin that's adding the CR.  


No. It is *DOS* (i.e. emacs) routines that add CR. Do not forget that
line separator in DOS is CR-LF. So, emacs is (most probably) simply
writes a line in text mode that results in CR-LF being actually sent
over the wire (this CR-LF<->LF translation in DOS is really weird, but
you need it to get some sort of compatibility with standard libc).
Cygwin does *not* adds anything, it reads it "as is".

Maybe I
> can add an option to zsh to strip off trailing CRs -- can anyone point
> me to where to start looking?  input.c maybe?
>

Erm ... have you even tried to look at Cygwin page I told you about?

CYGWIN=nobinmode
And export it before starting shell in emacs. How exactly you do it in
emacs I do not know.
 
-andrej



Messages sorted by: Reverse Date, Date, Thread, Author