web-dev-qa-db-ja.com

CYGWIN = nodosfilewarningはcygwinの警告に役立ちません

Emacs23.2.1でCVS管理ファイルにediff-revisionを使用しようとすると、ediffの結果を直接開始するのではなく、*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インスタンスの下の下位シェルからこれを正しく確認できます。

> set | grep -i nodos
CYGWIN=nodosfilewarning

これが関係する可能性がある場合に備えて、Windows7でCygwin1.7.9-1を実行しています(Cygwin 1.5から1.7にアップグレードする前にこの問題が発生したことはありません)。

このエラーを取り除く方法はありますか?

P.S. ediff-revisionへの後続の呼び出しは、この警告をトリガーせずに成功します。

21
WinWin

CYGWIN変数は、Cygwinプロセスツリーの最初のプロセスが呼び出されたときに解析されます。したがって、.bashrcなどに設定するのは遅すぎます。これを設定するのに適した場所は、グローバルWindows環境の[コントロールパネル]-> [システム]-> [詳細設定]-> [環境変数]です。

32
ak2

追加した (setenv "CYGWIN" "nodosfilewarning") to setup-cygwin.el 。それは、AFAICTが他の問題を引き起こすことなく、問題を処理しているようです。このためにEmacsのバグ# 14541 も提出しました。

8
Drew

Emacs内から、次のこともできます。

  • M-x setenv
  • CYGWIN
  • nodosfilewarning

setup-cygwin.elを変更する代わりの方法として。

3
Greg