luna.el: method with &rest
Keiichiro Nagano (=?ISO-2022-JP?B?GyRCMUpMbjc9MGxPOhsoQg==?=)
knagano @ sodan.org
2001年 8月 13日 (月) 00:47:12 JST
初めまして、永野と申します。
luna.el で不可解な挙動を見つけましたので報告させていただきます。
ソースを読んでみたのですが、力不足のため修正することはできませんでした。
申し訳ございません。
症状は引数リストに &rest を持つ method について、luna-send で message
を送った時と generic を使った時とで、method に渡る引数が変わるというも
のです。以下のコードを参照下さい。
--
(luna-define-class sample () ())
(luna-define-method sample-uses-rest ((this sample) &rest lst)
lst)
(luna-define-generic sample-uses-rest (sample &rest lst))
(setq s (luna-make-entity 'sample))
(luna-send s 'sample-uses-rest s 'a 'b)
=> (a b)
(sample-uses-rest s 'a 'b)
=> ((a b))
--
このように、luna-send を用いた場合には &rest として自然な引数が渡るの
ですが、これを generic で呼び出すと、1段深い list になって渡ってきます。
環境は
SLIM/1.13.7, APEL/10.2, Emacs/20.7
LIMIT/1.14.7, APEL/10.3, Emacs/21.0.104
このうち LIMIT の方の ChangeLog で、最後に luna.el が更新された log は
> 2000-12-13 Kenichi Handa <handa @ etl.go.jp>
>
> * luna.el: Fix and add DOCs and comments; fix coding style.
となっております。
luna は (w3m.el の shimbun や Wanderlust の elmo-lunafy で) たくさん使
われているわりには、document が全くなく、苦労しながら遊んでおります。
投稿に不備がありましても、どうぞご容赦下さい。
--
Keiichiro Nagano
More information about the Emacs-mime-ja
mailing list