CYGWIN = nodosfilewarning не помогает предупреждение Cygwin - PullRequest
21 голосов
/ 31 января 2012

Когда я пытаюсь использовать ediff-revision в Emacs 23.2.1 для файла, управляемого CVS, я получаю следующую ошибку во фрейме *ediff-errors* вместо непосредственного перехода к результатам ediff:

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:

> set | grep -i nodos
CYGWIN=nodosfilewarning

Я запускаю Cygwin 1.7.9-1 под Windows 7, на случай, если это может быть актуально (и у меня никогда не было этой проблемы до обновления с Cygwin 1.5 до 1.7).

Есть идеи, как избавиться от этой ошибки?

PS Последующий вызов ediff-revision завершается успешно, не вызывая это предупреждение.

Ответы [ 3 ]

32 голосов
/ 31 января 2012

Переменная CYGWIN анализируется при запуске первого процесса в дереве процессов Cygwin.Следовательно, установить его в .bashrc или что-то подобное слишком поздно.Хорошее место для его установки - в глобальной среде Windows, под Панели управления-> Система-> Дополнительно-> Переменные среды.

8 голосов
/ 03 июня 2013

Я добавил (setenv "CYGWIN" "nodosfilewarning") к setup-cygwin.el . Это, кажется, решает проблему без, AFAICT, создания других проблем. Для этого я также подал ошибку Emacs # 14541 .

3 голосов
/ 22 декабря 2013

Из Emacs вы также можете:

  • Mx setenv
  • CYGWIN
  • nodosfilewarning

в качестве непосредственной альтернативыизменение setup-cygwin.el.

...