Subject: bug#14541: 24.3.50; `ediff-buffers' does not play well with recent Cygwin version

From: Drew Adams <[email-masked]>
Date: Mon, 3 Jun 2013 13:15:02 -0700 (PDT)

> > I read the postings at both of those URLs, but I do not see anywhere where
> > they say what you say about reliability.  What is a concrete example of a
> > problem introduced by Emacs setting this env var?
> 
> It is not your business (or anyone else's but the user) to set that
> environment variable.  

I am the user.  Just trying to make the recent Cygwin versionn work with
Emacs, like an older version did.

> Despite the appearance, setting things there is a
> lot more akin to giving an option on the kernel boot line.  It only
> takes effect when the cygwin1.dll is first loaded and can't be changed
> later as long as at least once Cygwin process is runnning.

Does not sound like a great design.  But what do I know?

> > FWIW, I have added (setenv "CYGWIN" "nodosfilewarning") to setup-
> > cygwin.el.  That seems to take care of the problem without, AFAICT,
> > creating other problems.  But if you know of problems that it
> > introduces, please let me know.
> 
> Don't.  You might override other settings that the user wants to take
> effect or at best produce a confusing no-op.  You'd be much better off
> if you would use cygpath to convert to POSIX instead.

I'll leave it in setup-cygwin.el, at least for now.  But I'll add a
comment per what Eli said: that if come other Cygwin process started
earlier and turned this off then turning it on here has no effect.

So it sounds like even Emacs Dev (i.e., what this bug report is about)
cannot fix this.  If the env var was already looked up once then Emacs
cannot change it.

Sounds like the only good approach for an Emacs user on Windows, with
Cygwin installed, is to set the env var at the system level.  If that
is the case (please confirm) then I'll mention that too in a
setup-cygwin.el comment.  (And we might want to mention that in the
Emacs manual?)

OK, I suppose that's not the only good approach.  I guess you're
suggesting another, for someone who is willing to change to POSIX:
use the cygpath utility.  Feel free to document that one (for Emacs
users)...