[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
XEmacs bug
- From: Katsumi Yamaoka <yamaoka@xxxxxxxxxx>
- Date: Tue, 17 Jun 2003 18:51:59 +0900
- X-ml-name: emacs-w3m
- X-mail-count: 05200
* 開発者のみなさま、とりわけ shimbun の各プログラムの作者の *
* みなさんに緊急で見直しをお願いします。 *
今日、土屋さんとの個人的なやりとりを通じて XEmacs の bytecomp に
バグがあることが発覚しました。それは、以下のように文字列だけをボ
ディに持つ関数を byte-compile すると、戻り値が nil になってしま
うというものです。
(defun hello-world ()
"Hello World")
=> hello-world
(hello-world)
=> "Hello World"
(byte-compile 'hello-world)
=> #<compiled-function nil "...(2)" [nil] 1 "Hello World">
(hello-world)
=> nil
つまり、bytecomp はボディの最初に現れた文字列を、doc-string とし
て扱ってしまうのです。
そんなものは滅多にないだろうって? いえいえ、結構あるんですよ。
すでに土屋さんが sb-asahi と sb-yomiuri については対策してくれま
したが、例えばちょっと前まであった以下のコードは
(luna-define-method shimbun-server-name ((shimbun shimbun-asahi))
"朝日新聞")
次のような関数を提供します。
(lambda (shimbun)
"朝日新聞")
これが byte-compile されると、前述のバグのために、ぼくが XEmacs
で読む朝日の記事の From 行には、社名の代わりに nil が表示されて
いたのでした。
この問題に関係しそうな個所は、ぼくが調べたところでは、1_3 枝、幹
ともに以下の 6点でした。とりあえず、これらについて改修をお願いし
ます。
sb-dennou.el: (luna-define-method shimbun-reply-to ... "pc3s-nnb@asahi-net.or.jp")
sb-pilot-mailsync.el: (luna-define-method shimbun-reply-to ... "pilot-mailsync@pilot-mailsync.sourcefubar.net")
sb-pocketgames.el: (luna-define-method shimbun-reply-to ... "info@pocketgames.jp")
sb-security-memo.el: (luna-define-method shimbun-reply-to ... "memo@memo.st.ryukoku.ac.jp")
sb-w3m-dev.el: (luna-define-method shimbun-reply-to ... "w3m-dev@mi.med.tohoku.ac.jp")
shimbun.el: (luna-define-method shimbun-footer ... "")
--
Katsumi Yamaoka <yamaoka@namazu.org>