[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.
- bug#14541: 24.3.50; `ediff-buffers' does not play well with recent Cygwin version, Drew Adams, 2013/06/03
- bug#14541: 24.3.50; `ediff-buffers' does not play well with recent Cygwin version,
Eli Zaretskii <=
- bug#14541: 24.3.50; `ediff-buffers' does not play well with recent Cygwin version, Drew Adams, 2013/06/03
- bug#14541: 24.3.50; `ediff-buffers' does not play well with recent Cygwin version, Eli Zaretskii, 2013/06/03
- bug#14541: 24.3.50; `ediff-buffers' does not play well with recent Cygwin version, Achim Gratz, 2013/06/03
- bug#14541: 24.3.50; `ediff-buffers' does not play well with recent Cygwin version, Drew Adams, 2013/06/03
- bug#14541: 24.3.50; `ediff-buffers' does not play well with recent Cygwin version, Eli Zaretskii, 2013/06/03
- bug#14541: 24.3.50; `ediff-buffers' does not play well with recent Cygwin version, Achim Gratz, 2013/06/05
- bug#14541: 24.3.50; `ediff-buffers' does not play well with recent Cygwin version, Drew Adams, 2013/06/05
- bug#14541: 24.3.50; `ediff-buffers' does not play well with recent Cygwin version, Achim Gratz, 2013/06/06
- bug#14541: 24.3.50; `ediff-buffers' does not play well with recent Cygwin version, Eli Zaretskii, 2013/06/06
- bug#14541: 24.3.50; `ediff-buffers' does not play well with recent Cygwin version, Drew Adams, 2013/06/06