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
удастся без запуска этого предупреждения.
Ответы
Ответ 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.