CYGWIN=nodosfilewarning对于Cygwin警告没有帮助

22

在Emacs 23.2.1下,当我尝试使用ediff-revision处理一个CVS管理的文件时,我在*ediff-errors*窗口中收到了以下错误消息,而不是直接开始比较:

cygwin warning:
  MS-DOS style path detected: c:/Users/BILL/AppData/Local/Temp/misc.cpp.~1.10~
  Preferred POSIX equivalent is: /cygdrive/c/Users/BILL/AppData/Local/Temp/misc.cpp.~1.10~
  CYGWIN environment variable option "nodosfilewarning" turns off this warning.
  Consult the user's guide for more details about POSIX paths:
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames

我的问题是,我已经设置了CYGWIN环境变量选项“nodosfilewarning”,所以我不知道为什么会收到这个错误。

实际上,我可以在同一Emacs实例下的一个较低级别的shell中验证这一点:

> set | grep -i nodos
CYGWIN=nodosfilewarning

我正在Windows 7下运行Cygwin 1.7.9-1,这可能与问题有关(在从Cygwin 1.5升级到1.7之前,我从未遇到过此问题)。

有任何解决此错误的想法吗?

附:后续调用ediff-revision成功执行而不触发此警告。

3个回答

33

CYGWIN变量在调用Cygwin进程树中的第一个进程时进行解析。因此,在.bashrc或类似位置设置它为时机已晚。在全局Windows环境下设置它是一个好地方,可以在控制面板->系统->高级->环境变量中完成。


谢谢!事实上,我在.bashrc中导出了该环境变量。一旦我将其移动到全局Windows环境中,所有东西都与我升级Cygwin之前完全相同。 - WinWin
分配适当的赞誉是恰当的。赞!这是那种事情,从某种意义上说,它从未真正影响到我,但当我看到它时,会在潜意识中让我感到烦恼。 - thynctank

8

我在setup-cygwin.el中添加了(setenv "CYGWIN" "nodosfilewarning")。这似乎解决了问题,没有引起其他问题。我还为此提交了Emacs bug #14541


3

在emacs中,你也可以:

  • M-x setenv
  • CYGWIN
  • nodosfilewarning

作为修改setup-cygwin.el的直接替代方案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接