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

Re: ignored-subject



>> On Mon, 19 Jan 2009 22:05:15 +0900
>> tsuchiya@xxxxxxxxxx (TSUCHIYA Masatoshi) said as follows:

>>lunaでは、
>>(A) 多重継承時には深さ優先のメソッド検索が行われる。
>>(B) 全てのクラスのベースとなる standard-object でも initialize-instance
>> は定義されている。
>>このため、
>> (luna-define-class shimbun-itmedia (shimbun-multi shimbun-rss) ())
>>というクラスに対して、initialize-instance は shimbun-itmedia → 
>>shimbun-multi → standard-object という順に検索して、見付けた
>>standard-object のメソッドのみが実行され、shimbun-rss で定義した
>>メソッドは呼ばれていませんでした。

>>とりあえず、親クラスの順を逆にすると shimbun-rss の initialize-instance
>>が呼ばれるので、そのようにしました。

>sb-opentechpress-jp.el も同様にしました.

駄目ですた.

このようにすると,sb-multi.el で定義してある shimbun-make-contents() が呼
ばれなくなって,複数ページからなる記事が正しく取れなくなります.adhoc に
は,添付したようなパッチを適用すればうまくいきますが….

sb-multi.el は mix-in する使い方を想定して書いてあるのですが,luna では,
それはできないということでしょうか?

-- 
土屋 雅稔 ( TSUCHIYA Masatoshi )
--- sb-opentechpress-jp.el	19 Jan 2009 13:04:05 -0000	1.9
+++ sb-opentechpress-jp.el	20 Jan 2009 07:25:01 -0000
@@ -30,7 +30,7 @@
 (require 'sb-multi)
 (require 'sb-rss)
 
-(luna-define-class shimbun-opentechpress-jp (shimbun-rss shimbun-multi) ())
+(luna-define-class shimbun-opentechpress-jp (shimbun-multi shimbun-rss) ())
 
 (defvar shimbun-opentechpress-jp-table
   '(("general" . "http://opentechpress.jp/index.rss")
@@ -46,7 +46,10 @@
 (defvar shimbun-opentechpress-jp-content-end
   "</div><!-- end: class=\"article\" -->")
 
-(defvar shimbun-opentechpress-jp-ignored-subject "^PR:")
+(luna-define-method initialize-instance :after ((shimbun shimbun-opentechpress-jp)
+						 &rest init-args)
+  (shimbun-rss-set-ignored-subject-internal shimbun "^PR:")
+  shimbun)
 
 (luna-define-method shimbun-groups ((shimbun shimbun-opentechpress-jp))
   (mapcar 'car shimbun-opentechpress-jp-table))