[Anthy-dev 2417] Re: prop-labelがprop-listと違うことがある

Back to archive index

YamaKen yamak****@bp*****
2005年 9月 23日 (金) 17:43:51 JST


ヤマケンです。

At Thu, 22 Sep 2005 13:19:51 +0900,
h0131****@ice***** wrote:
> On Thu, Sep 22, 2005 at 05:16:26AM +0900, TOKUNAGA Hiroyuki wrote:
> > On Fri, 16 Sep 2005 04:56:24 +0900
> > Masanari Yamamoto <h0131****@ice*****> wrote:
> > > prop-labelがprop-listのサブセットにならない場合があります。
> > > (activity-indicator-newを使っていない場合)
> > > 
> > > バグなのかわからなかったので、メールしました。
> > 
> >  非常に恐ろしいことであるような気がするのでなかなか書けなかったのです
> > が、私にも正直、バグなのかどうかわかりません。
> > 
> >  パッチをあてた場合と当てなかった場合でなにがどう変わるのかを試してみた
> > のですが、試した範囲では結果は変わりませんでした。activity-indicator-new
> > を使っていない場合、というのは具体的にどういう場合なのでしょうか?
> 
> prop_listを使わずにprop_labelだけを使っているクライアントはいないよう
> ですし、activity-indicator-newを使っていないIMもないので、パッチを当て
> ても当てなくても何も変わりません。しかもaction.scmはcomposerフレームワ
> ークでng-action.scmに置き換えられるそうなので、パッチを当てなくても問
> 題ないと思います。

その通りです。山本さん、調査修正ありがとうございました。r1540で
修正し、0.4ブランチにもバックポートしておきました。

action.scmの内部に興味の無い人向けにもう一度まとめておきます。

・バグであり、山本さんの修正は正しい
・現在のuimにはこのバグを発現させるコードは無いのでアップデート不要

> activity-indicator-newを使っていない場合というのは、register-widgetの
> 第2引数で直接indicator-newを使う場合です。
> 
> この例はaction.scmの最後の方にあります。
> (register-widget 'widget_example_arbitrary_info
>                  (indicator-new (let ((count 0))
>                                   (lambda (ac)
>                                     (set! count (+ count 1))
>                                     (list (digit->string count)
>                                           "an arbitrary information"
>                                           "an arbitrary information"))))
>                  ;; indicator and actions are isolated
>                  (actions-new example-input-mode-actions))
> 
> 以下の文章は読みにくい文章なので読み飛ばしてもらっても構いません。
> 
> prop_listを作るwidget-compose-live-branchではwidget-indicatorを使って
> いるのですが、prop_labelを作るcontext-propagate-prop-label-updateでは
> widget-activity(activeなaction)のindicatorを使っています。
> 
> wiget-indicatorがactivity-indicator-newで生成されたindicatorであるとき、
> wiget-indicatorとwidget-activityのindicatorは同じになるのですが、
> wiget-indicatorがindicator-newで生成されたindicatorであるとき、
> wiget-indicatorとwidget-activityのindicatorは同じにならない場合があり
> ます。このとき、prop_labelがprop_list(の一部)が違う文字列になります。

コメントも少ないのに正確に理解してもらえて嬉しいです。composerブ
ランチの方ではもっとシンプルになるように頑張ります。

-------------------------------
ヤマケン yamak****@bp*****



Anthy-dev メーリングリストの案内
Back to archive index