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

Re: inheriting shimbun-text



>>>>> In [emacs-w3m : No.08113] 三好さん wrote:

> 私が作成したsb-f1fan.el, sb-makanai.el, sb-msports-nifty.el,
> sb-yahoo-sports.el に関しては、
> 意図して両者を継承した訳ではありません。

> 記憶は定かではないのですが、参考にしたモジュールで両者を継承してあっ
> たので、同じように継承したのだと思います。

ぼくもエラそうなことを言えるほどわかっていないので、この件で、み
んなもわかってないんだ、ということが判明して安心しました。;-p
でも、わかる人には何でもないことなんですかねえ。出来上がったコー
ドは実にすっきりしてしまうんですが、何がどうなっているかを簡単に
把握できないのが辛いです。例えば、動作時に使われる f1fan の
content-start の値は、こんなにこみいった場所にあります。

(let ((shimbun (shimbun-open "f1fan")))
  (aref shimbun
	(get (intern-soft "content-start"
			  (aref (get 'shimbun-asahi 'luna-class) 1))
	     'luna-slot-index)))

shimbun-open の中身を展開して書くのは、ここでは諦めました [1]。

それから、ユーザオプションの値に応じて動作をダイナミックに変更す
るような用途に luna は向いていないですね。今般 prefer-text-plain
を作っているときに、改めて感じました。

[1] 記事を読んでいるときに shimbun-open はかなり頻繁に実行される
    はずですが、これが呼ぶ luna-make-entity が毎回新規に vector
    (というか obarray) を作っているように見えます。たぶん
    garbage collect が後で消してくれるんでしょうけれど。