[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

Re: error in w3m-w3m-dump-source



>> On Thu, 03 May 2001 12:32:39 +0900
>> 「水」== mit@nines.nec.co.jp (Mito) said as follows:

水> Signaling: (args-out-of-range 22376 22377)
水> w3m-w3m-dump-source("http://www.yomiuri.co.jp/01/20010501ia02.htm")

手元で

    (w3m-w3m-dump-source "http://www.yomiuri.co.jp/01/20010501ia02.htm")

を評価してみましたが、全く何の支障もなく読み込めてしまったので、原因が
分かりません。

一つ考えられるのは、当該コンテンツの content-length の値が異常な値(具
体的には負の整数)になっていることです。そうであれば、以下の変更で対処
できると思うので、試してみてください。
Index: w3m.el
===================================================================
RCS file: /home/tsuchiya/cvsroot/emacs-w3m/w3m.el,v
retrieving revision 1.229
diff -u -u -r1.229 w3m.el
--- w3m.el	2001/04/27 02:31:24	1.229
+++ w3m.el	2001/05/04 09:53:58
@@ -1711,7 +1711,7 @@
 	(list (or type (w3m-local-content-type url))
 	      charset
 	      (let ((v (cdr (assoc "content-length" alist))))
-		(and v (string-to-number v)))
+		(and v (setq v (string-to-number v)) (> v 0) v))
 	      (cdr (assoc "content-encoding" alist))
 	      (let ((v (cdr (assoc "last-modified" alist))))
 		(and v (w3m-time-parse-string v)))
なお、

水> (string= "text/html" type) => t だったので、なんとなく cond
水> の順番を、

水> (cond
水>  ((string= "text/html" type)
水>           :
水>   ((and length (> (buffer-size) length))
水>           :

水> に入れ替えたら今のところエラーになっていないようです。

この処理順序には意味がありますので、入れ替えることはできません。

-- 
土屋 雅稔  ( TSUCHIYA Masatoshi )
    http://www-nagao.kuee.kyoto-u.ac.jp/member/tsuchiya/