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

Re: XEmacs bug



>>>>> In [emacs-w3m : No.05222]
>>>>>	TSUCHIYA Masatoshi <tsuchiya@pine.kuee.kyoto-u.ac.jp> wrote:

土屋さん> 念のための確認なのですが,問題なのはやはり,

土屋さん>     (defun xxx () "")

土屋さん> という形式の,文字列のみが関数実体であるような場合に限られる,

はい、そうです。byte-compile-lambda() の入り口で source form に
対して stringp の判断が行なわれているので、今後 luna が過剰な
optimize をしない限り大丈夫でしょう。

  (let* (...
	 (doc (if (stringp (car body))
		  (prog1 (car body)
		    (setq body (cdr body)))))

次の XEmacs からは以下のようになるはずです (でも後の祭っつうか)。

  (let* (...
	 (doc (if (stringp (car body))
		  (prog1 (car body)
		    ;; Discard the doc string
		    ;; only if it is not the only element of the body.
		    (if (cdr body)
			(setq body (cdr body))))))

土屋さん> 言い換えれば,修正が必要なのは [emacs-w3m:05200] で指摘され
土屋さん> た6個所だけだという理解でよいでしょうか?

それは (xxx yyy zzz "string") という、要素が 4個のフォームを調べ
た結果だったのですが、さきほど (そんなものがあるかどうか知らんが)
要素数が 3 と 5 のフォームについても目視確認しました。大丈夫です。
-- 
Katsumi Yamaoka <yamaoka@jpl.org>