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

Re: sb-pocketgames.el bug?



ああー、今ごろ原因がわかってごめんなさい。_o_

>>>>> In [emacs-w3m : No.05241]
>>>>>	NAKAJIMA Mikio <minakaji@namazu.org> wrote:

中島さん>   Emacs 21.3.50 で emacs-w3m の幹を再度 compile して wl の~
中島さん> /.elmo/cache, ~/.elmo/shimbun/pocketgames を一度消してから試
中島さん> したのですが、今現在取得できる全ての記事を読むことができます。

[...]

中島さん> ここ↓

中島さん>   (unless
中島さん>       (re-search-forward
中島さん>        "Posted by: \\(.+\\) on \\([0-9]+\\)/\\([0-9]+\\)/\\([0-9]+\\) (\\(月\\|火\\|水\\|木\\|金\\|土\\|日\\))  - \\([0-9][0-9]:[0-9][0-9]\\) JST <\/font>"
中島さん>        end t nil)
中島さん>     (throw 'next nil)
中島さん>     (setq from (shimbun-mime-encode-string (match-string 1))
中島さん> 	  year (string-to-number (match-string 2))
中島さん> 	  month (string-to-number (match-string 3))
中島さん> 	  day (string-to-number (match-string 4)

中島さん> でエラーが出ているように見えますが、どうなんでしょう?

はい、その通りです。

中島さん> 正規表現でマッチしなかったら、(match-string n) が nil を返し
中島さん> て string-to-number にnil が渡る可能性はないように思えるので
中島さん> すが...。

ところが、ぼくの手元にある大方の Emacs と XEmacs では
shimbun-mime-encode-string() が match-data を破壊してしまいます。
例えば sb-asahi.el に入っている以下のものが、その対策です。

	     ;; subject
	     (save-match-data
	       (shimbun-mime-encode-string
		(if (nth 6 numbers)
[...]

うーむ、ぼくはプログラムの検証用に 21.3.50 は滅多に使わないんで
すが、違うんでしょうか。とり急ぎ。

;; わあ、「とり急ぎ」なんてウソですね。問題が発覚したときすぐに
;; 調べていればわかったものを。本当に本当にごめんなさい。
-- 
Katsumi Yamaoka <yamaoka@jpl.org>