Edebug and luna.el

Daiki Ueno ueno @ unixuser.org
2002年 9月 24日 (火) 11:28:20 JST


method cache を導入した張本人です。

>>>>> In [emacs-mime-ja : No.01074] 
>>>>>	TSUCHIYA Masatoshi <tsuchiya @ pine.kuee.kyoto-u.ac.jp> wrote:
土> luna.el によって定義された method が edebug できない(ことがある)問題に
土> ついて,原因が分かりましたので報告します.

土> 原因は,luna-apply-generic() で,実際に適用するべき関数定義を探す時に
土> 参照される cache にありました.一旦,method が呼び出されると,関数定義
土> が cache されるのですが,luna-define-method() の評価時に正しく cache 
土> がクリアされていませんでした.

土> --- luna.el	23 Apr 2002 05:03:05 -0000	1.2.6.5
土> +++ luna.el	23 Sep 2002 07:51:20 -0000
土> @@ -165,7 +165,7 @@
土>  		 (luna-find-class ',class) ',name))
土>  	   (cache (get ',name 'luna-method-cache)))
土>         (if cache
土> -	   (unintern ',class cache))
土> +	   (unintern (symbol-name ',class) cache))
土>         (fset sym func)
土>         (put sym 'luna-method-qualifier ,method-qualifier))))

なるほど。前者の式にはまったく意味がないですね。

luna アプリケーション開発者の方々には、長い間御迷惑をおかけして申し訳あ
りません。_O_

土> この問題を回避するには,以下のような変更を行えば良いようですが,commit 
土> しても良いでしょうか.また,どの枝を変更するべきでしょうか.

明らかなバグなので、flim-1_14 枝に変更を加えていただくのが良いと思います。
-- 
Daiki Ueno





More information about the APEL-ja mailing list