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

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

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


From: Eli Zaretskii
Subject: bug#14541: 24.3.50; `ediff-buffers' does not play well with recent Cygwin version
Date: Mon, 03 Jun 2013 18:40:38 +0300

> Date: Sun, 2 Jun 2013 21:12:40 -0700 (PDT)
> From: Drew Adams <drew.adams@oracle.com>
> 
> I used to use an old (2007?) version of Cygwin.  I just
> installed the latest Cygwin verion on Windows 7.  I use the same setup
> for Emacs as previously (cygwin-mount.el, then setup-cygwin.el, both
> from Emacs Wiki).
> 
> Previously, Cygwin handled MS DOS-style file names OK.
> But `ediff-buffers' passes such file names for its temporary files,
> and the latest version of Cygwin (on Windows 7 at least) does not,
> by default, handle such file names: it issues a warning, which means
> that Emacs raises an error and prints the Cygwin warning.
> 
> This makes `ediff-buffers' unusable.  There is a workaround: set env var
> CYGWIN to `nodosfilewarning'.  I have added that to file setup-cygwin.el
> as a workaround.

May I again urge you to consider switching to MinGW ports instead?  I
can point to those I use for years, which means they are reliable.

> But I wonder if `ediff-buffers' could perhaps prevent the error/warning
> anyway.  I don't know whether it is really the 8-char DOS file-name
> format that Cygwin objects to, but I think so.  Maybe just having it
> use full Windows (not DOS) file names would be a fix?

No.  Cygwin wines about drive letters, not about the 8+3 aliases.  So
using long file names will not help.  You can verify that by invoking
Diff from the shell prompt.

We could perhaps push "CYGWIN=nodosfilewarning" into the environment
when Emacs launches child processes.  However, as these URLs indicate:

  
http://stackoverflow.com/questions/9079982/cygwin-nodosfilewarning-doesnt-help-cygwin-warning
  http://superuser.com/questions/370545/behaviour-of-cygwins-nodosfilewarning

this solution is not reliable if there's some other Cygwin process
running on the same system.  So I think the only reliable solution is
to put the above into the System environment variables, so that
whatever the first Cygwin process is, it always sees it.





reply via email to

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