Подтвердить что ты не робот

CYGWIN = nodosfilewarning не помогает предупреждению cygwin

Когда я пытаюсь использовать 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 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).

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

P.S. Последующий вызов ediff-revision удастся без запуска этого предупреждения.

4b9b3361

Ответ 1

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

Ответ 2

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

Ответ 3

Внутри emacs вы также можете:

  • M-x setenv
  • CYGWIN
  • nodosfilewarning

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