[Anthy-dev 1108] Re: uim_get_default_im_name()の選択アルゴリズム

Back to archive index

YamaKen yamak****@bp*****
2004年 10月 1日 (金) 11:15:23 JST


ヤマケンです。

At Fri, 1 Oct 2004 06:03:38 +0900,
tkng****@xem***** wrote:
> rev1375でテストしてみました。
> 
> 1. LANG=ja_JP.eucJPの時、デフォルトIMがm17n-ja-tcodeになる
> 
>  日本語ロケールのデフォルトIMはanthyにしておきたいです。同一ロケールに
> 複数のIMが存在する場合にはuimにベタ書きで順番を埋め込むのもアリだと思い
> ます。

これは私も対応しないとまずいと思っていました。r1380としてcommit
したので試してみてください。

言語毎にpreference orderを保持するテーブルを作って実現しようと思っ
てたんですが、load.scmで指定されたロード順をpreferenceと見なせる
事に気付いたのでそれを利用しています。今後IMが追加されても
loader.scm中の並びを変えるだけで優先度が変えられるのでメンテの手
間が省けます。

> 2. LC_ALL=zh_TW.UTF-8の時、セグメンテーションフォルトでアプリが起動しない
> 
> ERROR: bad arg to nth (see errobj)
> 
> *backtrace*
> >>(im-name (find-default-im localestr))
> >>(uim-get-default-im-name "zh_TW.UTF-8")
> 
>  こんな感じになります。

r1378で修正しました。最近の変更はcommitを急ぐあまりテストを書い
てないので、この手のミスが多発しています。すいません。

それと、pinyin-big5のlangは"zh"になっていますが、"zh_TW"の方が良
くないですか? これがuimに入った時の経緯を把握してないので何か事
情があるのかもしれませんが。


> 修正をお願いしておきます。あと、 im.scmのfind-default-imの
> 	;; should use preexisting default-im-name instead of
> 	;; uim-default-im-engine. uim-default-im-engine may be
> 	;; deprecated.
> 
>  の解説もお願いします。uim-default-im-engineを導入してからまだ一度もリ
> リースしていないので、いまならまだdeprecatedとかにせず、無かったことにで
> きます。

無かった事にしましょう。

ユーザがデフォルトIMを指定するための変数としては以前から
default-im-nameが存在していたのだから、そちらを使おうよという話
です。uim-default-im-engineはuim_get_default_im_name()の実装とと
もに出現したと認識していてデフォルトIM選択コードのScheme化を機に
消したかったんですが、uim-ximで既に参照している事が判明したので
残していました。

>  これらの修正が済んだら、0.4.4をリリースする予定です。

まだAPIや実装の変更を追加提案したいと思っています。一度正式リリー
スに含めてしまうと後々の変更が面倒なので。

また、今回のリリースはAPIや内部実装の変更が大きいので、ドキュメ
ントとテストをもう少し充実させたいと思っています。これらが終わる
まで2、3日待ってもらえないでしょうか(ほんとはもっと)。特にim.scm
とi18n.scmのテストを書く事は必須だと思っています。

今回は私から見たAPIや実装の問題点を正式リリース前に解決しなけれ
ばまずいという強迫観念から、テストが不十分なコードのcommitを繰り
返してしまいましたが、やはり無理が出ているので状況が許せばテスト
を書いてからcommitするような体制に戻したいと思います。


また、早期リリースを実現するため以下の必須(だと思っている)作業は
どなたかにお願いできないでしょうか。

・bug #1477の修正 (blocks #1502)

  helper-clientの仕様バグです。かなり致命的でuim-im-switcherの動
  作不良を引き起こしてます。socketプログラミングを経験してみたい
  方とか練習にどうでしょうか。

・uim-im-switcherのUI変更([Anthy-dev 1099])

  正式リリースに間に合わせた方が混乱を減らせると思います。

・C APIの追加・変更をdoc/COMPATIBILITYに記録

  今回のAPI変更は重要なのでリリース時にきちんと記録しておかない
  と後で混乱の元になります。次回リリース時に変更点を把握する時と
  か。Description:部は空でもいいのでどなたかまとめてもらえると助
  かります。また、uim_helper_read_proc()と
  uim_helper_get_message()はbug #1477対応のために仕様変更の必要
  があります。

・各scmファイルに埋め込まれたgettext keywordによるpoファイルの自
  動更新

  - そのままではxgettextで抽出できないようです

    xgettext -L Lisp -kN_ -k_ iso-639-1.scm

  - Makefileまわりをscmによる更新に対応させるのにあれこれ調べる
    必要があります


>  ついでに次のリリース予定も。0.4.5はメッセージの国際化などの品質向上作
> 業を行い、0.4.4から2週間後のリリースを目標に開発していきたいと思います。
> GUI設定ツールなどに関しては、足永さん次第ですが、モックアップぐらいは見
> られるようになるんじゃないかなぁと期待しています。

これはcustom APIが使っているuim-scm APIまわりの構造的欠陥に対応
する必要があるので、さらに私のがんばり度も影響すると思います。

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



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