[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]
Re: "%" 文字を含むファイル名
- X-ml-count: 7001
- Subject: Re: "%" 文字を含むファイル名
- From: "M.Fujii" <boochang@xxxxxxxxxxxx>
- Date: Wed, 03 May 2006 10:16:58 +0900 (JST)
- X-mailer: Mew version 4.2 on Emacs 22.0.50 / Mule 5.0 (SAKAKI)
藤井です。
From: Motohiko Minakuchi <zxcv3794@xxxxxxxxxxxxxxxxx>
Subject: "%" 文字を含むファイル名
Date: Wed, 03 May 2006 09:23:43 +0900 (東京 (標準時))
> Netinstall した Meadow3 を使用していますが、「%」文字をファイル名に含む
> ファイルがうまく開けない場合があります。 本日、Netinstall の最新版にし
> ても状況に変化がありません。
私も以前同じ現象にあったので少ししらべました。
w32-drag-n-drop():lisp/term/w32-win.el でファイル名の頭に file: を付けて
dnd-handle-one-url():lisp/dnd.el を呼び出しています。
また、dnd-handle-one-url では引数が URI エンコードされていることが前提
としているようです。
> ======================================================================
> ファイル名に注目した Meadow の挙動
>
> 以下、全て後で書く『問題が発生する操作法』を行った場合の挙動です。
>
>
> 『%30.txt』という名前のファイルを開こうとすると、*Messages* バッファに
> 「dnd-open-local-file: Can not read file:C:\var\mina\test\0.txt」が記録
> されエラーになります。 ただし、同じディレクトリに 『0.txt』が実在すると
> それが開かれます。
ですので、「%30.txt」 を D&D すると、以下のような動作になります。
- w32-drag-n-drop で「file:%30.txt」となる。
- dnd-handle-one-url で URI デコードされて「0.txt」というファイルで
あることが解釈され、0.txt を開こうとする。
以上のように、現象が発生するのは Windows 上の Emacs の D&D 処理に問題が
あるためであり、水口さんが指摘されているケースの中では以下の場合だけ発
生します。
> ======================================================================
> 操作法に注目した発生条件
>
> 調べた限り、問題が発生するのは 起動済の Meadow のウィンドウに Explorer
> からファイルを D&D した場合だけです。
問題を解消するには w32-win.el を修正し、dnd-handle-one-url にちゃんと
URI エンコードされたファイル名を渡すようにする必要があると思います。
--
藤井 正行 / Masayuki FUJII ( boochang@xxxxxxxxxxxx )