[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]
Re: [MD:7139] w3m ming binary
- X-ml-count: 7140
- Subject: Re: [MD:7139] w3m ming binary
- From: Hideyuki SHIRAI (白井秀行) <shirai@xxxxxxxxxxx>
- Date: Fri, 06 Jan 2006 16:38:02 +0900 (JST)
- X-mailer: Mew version 4.2.53 on Emacs 22.0.50 / Mule 5.0 (SAKAKI)
白井です。
From: NOKUBI Takatsugu <knok@xxxxxxxxxxxxx> さん曰く
Subject: [MD:7139] w3m ming binary
Message-ID: <87lkxtykyk.wl@xxxxxxxxxxxxxxxxxx>
Date: Fri, 06 Jan 2006 14:38:43 +0900
> なんとか、dumpのみ動作するw3mがmingwでコンパイルできました。
すっげー。
> しかし、これを使ってmeadowのemacs-w3mでウェブをみることはまだできて
> いません。例えばgoogleをみにいくと、次のような表示になります。
>
> Location: http://www.google.co.jp/
> Cannot retrieve URL: http://www.google.co.jp (exit status: 0)
>
> www.google.co.jp could not be found. Please check the name, and try again.
>
> exit statusが0なのは問題ないと思うんですが、なぜこういわれるのかよく
> わかっていません。
ざぁぁと試したところ、dump (-dump_extra) したデータの CRLF が全
部 CRCRLF に変わっちゃっているのが原因のようです。
例えば、
(defun w3m-w3m-dump-extra (url handler)
....
(when success
(goto-char (point-min))
(when (search-forward "\r\n\r\n" nil t)
(let ((pos (point)))
(goto-char (point-min))
(while (search-forward "\r" pos t)
(delete-region (match-beginning 0) (match-end 0)))))
(goto-char (point-min))
(let ((case-fold-search t))
....
な風にして、ヘッダー部分の CRCRLF を CRLF に変えると、普通のペー
ジは見ることが出来ました。なにもしないと、ヘッダーとボディの区切
りがわからないために、その判定でエラーになります。
ただし、そこを乗り越えても、いまどきのページはみんな gzip したり
しているので、body の該当部分でデコードエラーしちゃっています。
なので、~/.w3m/config で
accept_encoding deflate
とかしておくと、deflate 以外は plain text でくるので、とりあえず
のデバッグにはなるかと思います。
# accept_encoding って w3m.el から制御出来ないのね。
というわけで、w3m のどこだかわかりませんが、binary でオープンす
れば OK なんじゃないでしょうか。
--
白井秀行 (mailto:shirai@xxxxxxxxxxx)