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

Re: args-out-of-range error when displaying text/html message includingimages



>> On Sat, 10 Jan 2004 16:30:55 +0900
>> 「中」== minakaji@namazu.org (NAKAJIMA Mikio) said as follows:

中> この変更以来、複数の backend において、Shimbun の記事を表示するタ
中> イミングで

中> (args-out-of-range 3115 3115) 

中> (数字はその都度変わります)というようなエラーが出るようになってしま
中> いました。

中> この問題ですが、cvs の最先端でもまだ残っているみたいです。

そのようですね.

今日になって,shimbun ライブラリをいじっていると jpo.news で確実に引き
起こすことができたので,デバッガで追い掛けてみると,エラー直前に 
Selecting deleted buffer というメッセージが出ていることに気付きました.

原因が完全に判ったわけではないのですが,どうやら 
w3m-process-do-with-temp-buffer() が current buffer の回復に失敗してい
るのではないかと思います.

    (w3m-process-do-with-temp-buffer
       (variable form)
      body)

という式を実行する時に,

  (1) form が非同期プロセスを呼び出さず,すぐに値を返した
  (2) body がエラーを引き起こした

の2つの条件が重なると,以前の current buffer に戻ることが保証されてい
ませんでした.

で,このような悪条件下でも current buffer に戻るように,
save-current-buffer で保護してみたところ,少なくともデバッグ用に参照し
ていた記事ではエラーが現れなくなりました.

-- 
土屋 雅稔 ( TSUCHIYA Masatoshi )