[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
'cygwin type + binary data
- From: Hideyuki SHIRAI (
白井秀行
) <shirai@xxxxxxxxxxxxxxxxxxx>
- Date: Mon, 05 Mar 2001 19:33:14 +0900 (JST)
# なぜ、私の w3m は NT4.0上 => 'native、Win2000 => 'cygwin にし
# ないと動かないんだろう。ほとんど同じ環境なんだけど (?_?)
## という話はおいといて。。。
LF=>CRLF 変換する w3m -dump_source は image/jpeg などの binary
data でも律儀に CRLF に変えてしまうのですね。
% w3m -T image/jpeg -dump_source hoge とかしてもだめでした。
そこで、(eq w3m-executable-type 'cygwin) の登場ですが、もとが
binary data だけに悩ましいのですが、どうやら w3m-w3m-retrieve()
内部の CRLF=>LF 変換のときに
(if length
(if (eq w3m-executable-type 'cygwin)
(cond
;; No authentication and no bugs in output.
((= (buffer-size) length))
;; No authentication but new-line character is replaced to CRLF.
((or (= (buffer-size)
(+ length (count-lines (point-min) (point-max))))
(= (buffer-size)
(+ length (count-lines (point-min) (point-max)) -1)))
~~
(while (search-forward "\r\n" nil t)
(delete-region (- (point) 2) (1- (point)))))
(t;; Authentication
な感じで、つじつまが合うようです。最終行が LF で終わっていないか
ら、count-lines よりも 1byte 小さいよ、という感じなのかな。
ほとんど後藤さん向けのメールですが、これって正当性ありますかねぇ?
length がわからないとどうなるんだろう、ってことはないのかな?
--
白井秀行@だけど、やっと Win2000 で絵が出た。