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

Re: Wrong type argument: stringp, nil



From: Katsumi Yamaoka <yamaoka@xxxxxxx>
Subject: [emacs-w3m:10512] Re: Wrong type argument: stringp, nil
Date: Fri, 05 Dec 2008 18:06:47 +0900

>>>>>> In [emacs-w3m : No.10502] 青田さん wrote:
>> とりあえず、簡単なテストページを用意してみました。 (と言っても、
>> .htaccessに相互に redirect するように書いただけです ^^; )
> 
>> http://atmark-db.ath.cx/redirect-to-a.html
> 
> 確認しました。たぶん過去にそういう経験をしたことがあったかもしれ
> ませんが、深く追及したことは無いです。原因の詳細な解析と説明をあ
> りがとうございます。
> 
>>>>>> In [emacs-w3m : No.10505] 青田さん wrote:
> [...]
>> 1. w3m-retrieve() がシンボルを返してもよいことにして、リダイレクション
>>    が限界数を超えると 'redirection-exceeded を返し、これを
>>    w3m-retrieve-and-render() の中で処理。
>>    => 文字列を期待するコードがエラーになる欠点あり。
> 
>> 2. シンボルだと上記の欠点があるので、 "X-w3m-error/redirection" のよう
>>    な疑似 MIME を返す。以下、1と同様。
>>    => 既存のコードとの親和性は高いが、 X-w3m-error なんて作っていいの
>>  かな?
> 
>> 3. 思いきって w3m-w3m-retrieve() の中で処理。
>>    => 内部関数だけなので外部について気にしなくてもよい。
>>       w3m-retrieve() の取得内容は変わってしまうし、
>>       w3m-show-error-information() の場所を考えると美しくない。
> 
>> こんな感じでしょうか。 ぼくとしては 2番に一票です。
> 
> ぼくは青田さんにお任せします。が、たしかに 2番が、後々 emacs-w3m
> をいじる人に負担を与えない気がします。
> 
> ;; これは (sit-for 0.1) 問題のような環境依存は無いですね。;-)

ということで 2番で実装しました。 w3m-retrieve() は、これまでと仕様は変
わりませんが、w3m-w3m-retrieve-1() はシンボルを返しうることに注意してく
ださい。 また、結局 w3m-attributes() にも変更が必要になりました。 リダ
イレクトをたどれなかった時にダミーの attribute を返します。 

;; w3m-attributes() は内部に閉じてますよね?

--
青田