[Mew-Win32 02743] fiber with 日本語 file (Re: mew-dir-list2)
Hideyuki SHIRAI ( 白井秀行 )
shirai at example.com
2000年 8月 26日 (土) 17:58:52 JST
白井@やっと冒険者になりました、です。
# mew-pop がちゃんと動いているから、もう冒険者にはなれないかな。
From: Kenichi Niioka (新岡賢一) <niioka at example.com> さん曰く
Subject: [Mew-dist 13923] Re: mew-dir-list2
Message-ID: <20000826.101731.74716495.niioka at example.com>
Date: Sat, 26 Aug 2000 10:18:09 +0900
新岡> とりあえず、報告だけですが、Meadow-1.13 Beta1 で fiber が動かなく
新岡> なりました。
新岡> Filename: 8-25ご回答.xls
新岡> Program: fiber.exe
新岡> たとえば、この状態で C-cC-e しても MS-Excel が起動しなくなりました。
新岡> 起動しないのは、*.xls, *.doc, *.ppt で、*.zip, *.lzh, *.pdf などは
新岡> 問題ありません。
おそらく、起動しないのは『日本語まじりの file で MS-Word, Excel,
Powerpoint』だと思います。ascii だけの *.doc, *.xls は立ち上がり
ます。
理由は、
kazu> フォルダを作成する件で混乱していますので、パッチを投げます。まっさらな
kazu> b54 に当てて下さい。さまざまな機能アップのパッチも含まれていますが、気
kazu> にしないで下さい。
のパッチの中の
(defun mew-make-temp-name (&optional fname)
(if (not (file-exists-p mew-temp-dir))
(mew-make-directory mew-temp-dir)) ;; just in case
! (if (and fname (string-match "^[ -~]+$" fname))
! ;; File name of a temporary file should be ASCII only.
(expand-file-name fname mew-temp-dir)
(make-temp-name mew-temp-file)))
の部分で、ASCII only な file 名でなかったら
(mew-make-temp-name "白井.doc") => "c:/tmp/shirai1256_D1/mew1256sgS"
(mew-make-temp-name "shirai.doc") => "c:/tmp/shirai1256_D1/shirai.doc"
という感じでファイル名を変えるからです。
'% fiber -l' をするとわかるように、fiber は zip, lzh, pdf は指定
された file の中身で applicaion を判定しますが、MS-Word, Excel,
Powerpoint などは file の中身では判定してくれないから
'mew1256sgS' で fiber を起動しても MS-Word を起動することはでき
ません。以前は '*.doc' などの拡張子が filber に渡っていたため、
*関連付け* で起動していたのでしょう。
というわけで、解決策は、
1. (should be ASCII only の意図がわからないのだけど)
従来の mew-make-temp-name() に戻して貰う。
2. ASCII only じゃないときでも、mew-make-temp-name() で *拡張子*
は継承して貰う。
3. fiber を改造する ^^;;;
ぐらいだと思いますが、もともと、MS-Word, Excel, PowerPoint は
MicroSoft が作ったものだけあって、magic number で『それだ!!』と
判定できない(らしい)ため、1 か 2 の対処をして貰えるとありがたい
です。
--
白井秀行 (mailto:shirai at example.com)
Mew-win32 メーリングリストの案内