From t-suwa @ users.sourceforge.jp Fri Oct 7 23:36:09 2005 From: t-suwa @ users.sourceforge.jp (Tomotaka SUWA) Date: Fri, 07 Oct 2005 23:36:09 +0900 Subject: [aquaskk-dev 14] =?iso-2022-jp?b?UmU6IHByaXZhdGUtcnVubG9vcC1tb2Rl?= =?iso-2022-jp?b?IBskQiVWJWklcyVBJEskRCQkJEYbKEI=?= In-Reply-To: References: Message-ID: 諏訪です。 At Sat, 17 Sep 2005 02:16:58 +0900, Tomotaka SUWA wrote: > ということで、ちょっと大掛かりな改修になると思います。安定動作の確認が > 取れなければ、幹へはマージしません。最悪の場合、お蔵入りの可能性もあり > ますが、とにかくやってみます。 private-runloop-mode ブランチについてですが、今のところの不具合は以下の 通りです。 (1) Camino が落ちた http://pc7.2ch.net/test/read.cgi/mac/1084714251/320 (2) Panther で不具合 http://sourceforge.jp/tracker/index.php?func=detail&aid=7238&group_id=1813&atid=6753 どちらも気になるところですが、現在の BETA 版は、AquaSKK 2.3 と同等かそ れ以上の安定性は確保できていると思います。 ということで、ひとまず private-runloop-mode を幹へマージし、AquaSKK 2.4 としてリリースする作業に取り掛かります。 -- Tomotaka SUWA From t-suwa @ users.sourceforge.jp Sat Oct 8 00:43:55 2005 From: t-suwa @ users.sourceforge.jp (Tomotaka SUWA) Date: Sat, 08 Oct 2005 00:43:55 +0900 Subject: [aquaskk-dev 15] =?iso-2022-jp?b?QXF1YVNLSyAyLjQgGyRCJWolaiE8GyhC?= =?iso-2022-jp?b?GyRCJTkbKEI=?= Message-ID: 諏訪です。 AquaSKK 2.4 をリリースしました。 http://sourceforge.jp/projects/aquaskk/files/?release_id=16837#16837 リリースタグは release-2_4 です。 ▼ 変更点 内部構造を見直し、Safari/Camino で落ちる頻度を減らしました。また、候補 ウィンドウのフォントが変更可能になりました。 以上、よろしくお願いします。 -- Tomotaka SUWA From t-suwa @ users.sourceforge.jp Sun Oct 9 11:13:02 2005 From: t-suwa @ users.sourceforge.jp (Tomotaka SUWA) Date: Sun, 09 Oct 2005 11:13:02 +0900 Subject: [aquaskk-dev 16] =?iso-2022-jp?b?aHVtYmxlLWFzY2lpLW1vZGUtMS4wIA==?= =?iso-2022-jp?b?GyRCJEskRCQkJEYbKEI=?= Message-ID: 諏訪です。 U.S. との互換性を向上させた BETA をリリースしました。 書いておかないと自分でも忘れてしまいそうな気がするので、修正内容につい て簡単に説明しておきます。 - * - ■ 修正のポイント コードを見てもらえばいいのですが、ずばり、ParentInputMode::handleInput です。ASCII モードの場合には Ctrl+J 以外を処理しないようにしました。 これにともない、 BIMHandleInput で ParentInputMode::handleInput の戻り 値を使うようにしました。 ASCII モードが処理しなかったキー入力は TSM 側で適切にハンドリングされま す。これで、U.S. と同じ動作になるはずです(たぶん)。 ■ 連鎖した修正箇所 Ctrl+J 以外を無視するようにした結果、単語登録時に ASCII モードの入力が 反映されないという思わぬ問題が発生しました。 これは、単語登録時にも ParentInputMode::handleInput が呼び出されていた ためです。 そこで ParentInputMode::handleInput をオーバーライドして WordRegisterMode::handleInput を実装しました。ここでは今まで通り、 Ctrl+J 以外のキー入力に対しても ASCII モードを呼び出すようにしています。 ■ その他 セッション管理用のユーティリティクラスを追加しました。微妙にメモリリー クしていた不具合も修正しています。 - * - ASCII モード問題が一段落したら、以下の課題に着手する予定です。 (1) SKKDictionary を軽量化する (2) タブによる補完に直近の見出し語を表示 (3) 自動ダイナミック補完の実装 (4) 複数辞書に対応する (1) と (2) は大幅な改修になるので、またブランチを切ります。(3) と (4) はかなり先の話になりそうです。 よろしくお願いします。 -- Tomotaka SUWA From xdd @ mac.com Sun Oct 9 16:28:58 2005 From: xdd @ mac.com (Shin_ichi Abe) Date: Sun, 9 Oct 2005 16:28:58 +0900 Subject: [aquaskk-dev 17] =?iso-2022-jp?b?UmU6IGh1bWJsZS1hc2NpaS1tb2RlLTEu?= =?iso-2022-jp?b?MCAbJEIkSyREJCQkRhsoQg==?= In-Reply-To: References: Message-ID: <9D53A29E-9235-4EDA-B983-C2BFEC65E75C@mac.com> 阿部です。 作業御苦労さまです。 まずは御報告。 private-runloop-mode版の動作について。 100%の確率でクラッシュしていたアプリケーションがクラッシュしなく なりました。 Caminoでクラッシュする件ですが、先のブランチ版で1時間程集 中して動作チェックしたところ、2回程クラッシュが発生しまし た。 その時は、safariとcaminoのウィンドウ右上の google検索フィールドでskk入力している途中で コマンド+tabでアプリを切り替えをおこない、2回共に caminoがバックグラウンド時に発生していました。 caminoで表示していたサイトは以下です。 http://www.so-net.ne.jp/24/ エラー内容は2chで貼られていた内容とほぼ同じです。 ただ、古いバージョンのCaminoから上書きでCamino 1.0a1 を入れた為かCamino自体が若干不安定でAquaSkkとは関係 ない部分で 毎回同じエラーログを吐いてクラッシュしています。 U.S.互換性版はこれから使用してみます。 > > ASCII モード問題が一段落したら、以下の課題に着手する予定です。 > > (1) SKKDictionary を軽量化する > (2) タブによる補完に直近の見出し語を表示 > (3) 自動ダイナミック補完の実装 > (4) 複数辞書に対応する 私自身も欲しいというか実装したい機能が幾つかあるのですが、どのよ うにすればいいでしょうか? 勝手に実装してコミットしてよいのでしょうか? 事前に表明して許可を得た方がようでしょうか? ブランチ切ってコミットしてチェックしてもらったほうが良いでしょう か? どのようにすればいいか御教授ください。 ちなみに、 テンキーでの入力時は半角入力のオプション 。、は.,で入力するオプション スペースは全角/半角でのオプション SKKServer.cppのSKKDictionary、DMDictionary等の辞書ク ラスが関連している部分の強化(?) - 例えば、/=123+123で246に変換とか/day,/time等 動的に変化する辞書クラスも組み込んで環境設定でon/off出来る等 をやりたいのです。(とくにテンキーと辞書部) よろしくお願いします。 shin_ichi Abe : xdd @ mac.com On 2005/10/09, at 11:13, Tomotaka SUWA wrote: > 諏訪です。 > > U.S. との互換性を向上させた BETA をリリースしました。 > > 書いておかないと自分でも忘れてしまいそうな気がするので、修正内 > 容につい > て簡単に説明しておきます。 > > - * - > > ■ 修正のポイント > > コードを見てもらえばいいのですが、ずばり、 > ParentInputMode::handleInput > です。ASCII モードの場合には Ctrl+J 以外を処理しな > いようにしました。 > > これにともない、 BIMHandleInput で > ParentInputMode::handleInput の戻り > 値を使うようにしました。 > > ASCII モードが処理しなかったキー入力は TSM 側で適切にハ > ンドリングされま > す。これで、U.S. と同じ動作になるはずです(たぶ > ん)。 > > ■ 連鎖した修正箇所 > > Ctrl+J 以外を無視するようにした結果、単語登録時に ASCII > モードの入力が > 反映されないという思わぬ問題が発生しました。 > > これは、単語登録時にも ParentInputMode::handleInput が呼 > び出されていた > ためです。 > > そこで ParentInputMode::handleInput をオーバーライドして > WordRegisterMode::handleInput を実装しました。ここでは今まで通 > り、 > Ctrl+J 以外のキー入力に対しても ASCII モードを呼び出すよ > うにしています。 > > ■ その他 > > セッション管理用のユーティリティクラスを追加しました。微妙にメ > モリリー > クしていた不具合も修正しています。 > > - * - > > ASCII モード問題が一段落したら、以下の課題に着手する予定です。 > > (1) SKKDictionary を軽量化する > (2) タブによる補完に直近の見出し語を表示 > (3) 自動ダイナミック補完の実装 > (4) 複数辞書に対応する > > (1) と (2) は大幅な改修になるので、またブランチを切りま > す。(3) と (4) > はかなり先の話になりそうです。 > > よろしくお願いします。 > > -- Tomotaka SUWA > _______________________________________________ > aquaskk-dev mailing list > aquaskk-dev @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/aquaskk-dev > From t-suwa @ users.sourceforge.jp Sun Oct 9 19:40:32 2005 From: t-suwa @ users.sourceforge.jp (Tomotaka SUWA) Date: Sun, 09 Oct 2005 19:40:32 +0900 Subject: [aquaskk-dev 18] =?iso-2022-jp?b?UmU6IGh1bWJsZS1hc2NpaS1tb2RlLTEu?= =?iso-2022-jp?b?MCAbJEIkSyREJCQkRhsoQg==?= In-Reply-To: <9D53A29E-9235-4EDA-B983-C2BFEC65E75C@mac.com> References: <9D53A29E-9235-4EDA-B983-C2BFEC65E75C@mac.com> Message-ID: 諏訪です。 At Sun, 09 Oct 2005 16:28:58 +0900, Shin_ichi Abe wrote: > まずは御報告。 > private-runloop-mode版の動作について。 > > 100%の確率でクラッシュしていたアプリケーションがクラッシュしなく > なりました。 おお、それは良かったです。 > Caminoでクラッシュする件ですが、先のブランチ版で1時間程集 > 中して動作チェックしたところ、2回程クラッシュが発生しまし > た。 そんなにチェックして頂いたとは! どうもありがとうございます。 > その時は、safariとcaminoのウィンドウ右上の > google検索フィールドでskk入力している途中で > コマンド+tabでアプリを切り替えをおこない、2回共に > caminoがバックグラウンド時に発生していました。 > caminoで表示していたサイトは以下です。 > http://www.so-net.ne.jp/24/ > > エラー内容は2chで貼られていた内容とほぼ同じです。 > > ただ、古いバージョンのCaminoから上書きでCamino 1.0a1 > を入れた為かCamino自体が若干不安定でAquaSkkとは関係 > ない部分で > 毎回同じエラーログを吐いてクラッシュしています。 同じ動作を何度かやってみましたが、こちらでは大丈夫でした。Camino の Known Issues の内容が気にはなるところではありますが... > U.S.互換性版はこれから使用してみます。 よろしくお願いします。 > > ASCII モード問題が一段落したら、以下の課題に着手する予定です。 > > > > (1) SKKDictionary を軽量化する > > (2) タブによる補完に直近の見出し語を表示 > > (3) 自動ダイナミック補完の実装 > > (4) 複数辞書に対応する > > 私自身も欲しいというか実装したい機能が幾つかあるのですが、どのよ > うにすればいいでしょうか? > 勝手に実装してコミットしてよいのでしょうか? > 事前に表明して許可を得た方がようでしょうか? > ブランチ切ってコミットしてチェックしてもらったほうが良いでしょう > か? そう言えば明確なポリシーって決めてなかったですね。あんまりガチガチにや るのもなんですが、基本的には以下のような感じでどうでしょうか? (1) 幹へのコミットについて ちょっとした不具合の修正や、小さな機能の追加に限定する。「ちょっと した」の判断に迷ったら ML で相談する。そういう意味では、今回の ASCII モード対応はブランチを切るかどうか迷う微妙な線です。 また CVS HEAD は最低限、いつでも正常にビルド可能な状態であることを キープしておきたいですね。 (2) ブランチの作成について 大幅な改修や、長期間不安定な状態になりそうな場合、実験的なコードを 書く場合にはブランチを切る。ブランチを切る場合には、直近のリリース タグからにする。 > ちなみに、 > テンキーでの入力時は半角入力のオプション > 。、は.,で入力するオプション > スペースは全角/半角でのオプション 既にコードが出来上がってたりしますか? ;-) これぐらいのボリュームなら、幹に入れてしまって良いと思います。もし阿部 さんの都合が良ければ、ASCII モードと一緒に次のリリースに含めましょう。 > SKKServer.cppのSKKDictionary、DMDictionary等の辞書ク > ラスが関連している部分の強化(?) > - 例えば、/=123+123で246に変換とか/day,/time等 > 動的に変化する辞書クラスも組み込んで環境設定でon/off出来る等 おおっ! これは面白そうですね。動的な辞書はいいアイデアだと思います。こっ ちはブランチ向きかなぁ。 あるいは両方合わせてブランチで開発して、後でまとめて幹にマージするとい うのもありです。 どうします? -- Tomotaka SUWA From t-suwa @ users.sourceforge.jp Sat Oct 22 09:24:04 2005 From: t-suwa @ users.sourceforge.jp (Tomotaka SUWA) Date: Sat, 22 Oct 2005 09:24:04 +0900 Subject: [aquaskk-dev 19] =?iso-2022-jp?b?UmU6IGh1bWJsZS1hc2NpaS1tb2RlLTEu?= =?iso-2022-jp?b?MCAbJEIkSyREJCQkRhsoQg==?= In-Reply-To: References: Message-ID: 諏訪です。 問題報告も上がってないので、そろそろ humble-ascii-mode を正式にリリース しようかと思っています。 念の為、AqauSKK スレでもう一度互換性については確認しますが、これとは別 に、阿部さんのほうで一緒にリリースしたいコードなどありますか? -- Tomotaka SUWA From xdd @ mac.com Sun Oct 23 16:13:08 2005 From: xdd @ mac.com (Shin_ichi Abe) Date: Sun, 23 Oct 2005 16:13:08 +0900 Subject: [aquaskk-dev 20] =?iso-2022-jp?b?UmU6IGh1bWJsZS1hc2NpaS1tb2RlLTEu?= =?iso-2022-jp?b?MCAbJEIkSyREJCQkRhsoQg==?= In-Reply-To: References: Message-ID: <3E469050-5463-4E63-A8BE-9A5CC431E301@mac.com> 作業御苦労様です。阿部です。 > > 念の為、AqauSKK スレでもう一度互換性については確認します > が、これとは別 > に、阿部さんのほうで一緒にリリースしたいコードなどありますか? すみません。ここ何週か仕事が多忙でAquaSKKのコード触れてい ません。 > > そう言えば明確なポリシーって決めてなかったですね。あんまりガチ > ガチにや > るのもなんですが、基本的には以下のような感じでどうでしょうか? > > (1) 幹へのコミットについて > > ちょっとした不具合の修正や、小さな機能の追加に限定する。 > 「ちょっと > した」の判断に迷ったら ML で相談する。そういう意味で > は、今回の > ASCII モード対応はブランチを切るかどうか迷う微妙な線です。 > > また CVS HEAD は最低限、いつでも正常にビルド可能な状 > 態であることを > キープしておきたいですね。 > > (2) ブランチの作成について > > 大幅な改修や、長期間不安定な状態になりそうな場合、実験的な > コードを > 書く場合にはブランチを切る。ブランチを切る場合には、直近の > リリース > タグからにする。 > > >> ちなみに、 >> テンキーでの入力時は半角入力のオプション >> 。、は.,で入力するオプション >> スペースは全角/半角でのオプション >> > > 既にコードが出来上がってたりしますか? ;-) > > これぐらいのボリュームなら、幹に入れてしまって良いと思います。 > もし阿部 > さんの都合が良ければ、ASCII モードと一緒に次のリリースに > 含めましょう。 > > >> SKKServer.cppのSKKDictionary、DMDictionary等の辞 >> 書ク >> ラスが関連している部分の強化(?) >> - 例えば、/=123+123で246に変換とか/day,/ >> time等 >> 動的に変化する辞書クラスも組み込んで環境設定でon/off出 >> 来る等 >> > > おおっ! これは面白そうですね。動的な辞書はいいアイデアだ > と思います。こっ > ちはブランチ向きかなぁ。 > > あるいは両方合わせてブランチで開発して、後でまとめて幹にマージ > するとい > うのもありです。 コミットのポリシーは諏訪さんの一番管理しやすい方法でいいと思いま すが、 どのようなポリシーが管理しやすいでしょうか? また、話が変って申し訳ありませんが、AquaSKKをデバッグする 場合どのようにデバッグされているのでしょうか? Serverの場合なら起動直後の位置にブレークポインタ配置して起動、ア クティビティモニターで既に起動しているserverを 終了してデバッガーで直ぐに実行かければデバッガが使えるのです が。。。 shin_ichi abe : xdd @ mac.com On 2005/10/22, at 9:24, Tomotaka SUWA wrote: > 諏訪です。 > > 問題報告も上がってないので、そろそろ humble-ascii-mode > を正式にリリース > しようかと思っています。 > > 念の為、AqauSKK スレでもう一度互換性については確認します > が、これとは別 > に、阿部さんのほうで一緒にリリースしたいコードなどありますか? > > -- Tomotaka SUWA > _______________________________________________ > aquaskk-dev mailing list > aquaskk-dev @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/aquaskk-dev > From t-suwa @ users.sourceforge.jp Sun Oct 23 19:29:29 2005 From: t-suwa @ users.sourceforge.jp (Tomotaka SUWA) Date: Sun, 23 Oct 2005 19:29:29 +0900 Subject: [aquaskk-dev 21] =?iso-2022-jp?b?UmU6IGh1bWJsZS1hc2NpaS1tb2RlLTEu?= =?iso-2022-jp?b?MCAbJEIkSyREJCQkRhsoQg==?= In-Reply-To: <3E469050-5463-4E63-A8BE-9A5CC431E301@mac.com> References: <3E469050-5463-4E63-A8BE-9A5CC431E301@mac.com> Message-ID: 諏訪です。 At Sun, 23 Oct 2005 16:13:08 +0900, Shin_ichi Abe wrote: > すみません。ここ何週か仕事が多忙でAquaSKKのコード触れてい > ません。 あー、いえいえ、全然謝る必要なんてないです。では来週末ぐらいに、現在の CVS HEAD で 2.5 をリリースします。 > コミットのポリシーは諏訪さんの一番管理しやすい方法でいいと思いま > すが、 > どのようなポリシーが管理しやすいでしょうか? コミットする人が、「これは幹に入れてもいい」と思えばそうするし、「これ はブランチにしたほうがいい」と思えば、そうするということでどうでしょう か? 幹かブランチで迷った時は相談。間違ってもやり直しはできるので、気楽にい きましょう。 また、とりあえずのルールとしては、 (1) 幹へのコミットは特に連絡しなくても良い 修正内容は aquaskk-changes で把握できます。もし、コードについて疑問 や質問などがあれば、その都度 aquaskk-dev で検討すればいいでしょう。 ただし、今回の humble-ascii-mode のように、補足しておいたほうが良い 場合には連絡してもいいと思います。ま、臨機応変に。 (2) ブランチを切る時には、ざっと内容を知らせる これからこんな機能を作ろうと思ってます、とか、こんなリファクタリン グをします、とか。 ひょっとすると、他の人が実装しようとしているものとカブる可能性もあ るし、抽象クラスの変更などが絡む場合には、影響も大きいですからね。 ということにします。 なので、阿部さんが実現したい機能を、幹にコミットするのか、ブランチを切 るのかは、お任せします。 > また、話が変って申し訳ありませんが、AquaSKKをデバッグする > 場合どのようにデバッグされているのでしょうか? > Serverの場合なら起動直後の位置にブレークポインタ配置して起動、ア > クティビティモニターで既に起動しているserverを > 終了してデバッガーで直ぐに実行かければデバッガが使えるのです > が。。。 BIMLog() とか std::cerr << ふにゃら << std::endl; ですね。;-) いやー、 原始的というか、泥臭いというか、芸がないというか、脳がないというか。 ひょっとすると gdb の attach コマンドで、起動してる AquaSKKServer を捕 まえられるかもしれませんが、試したことはないです。InputMethod のほうは コンポーネントなのでさらに厄介ですね。 基本的にはテスト用の小さなプログラムを書いて、修正部分を事前にテストし ておくというのが安全だと思います。 ちゃんと見てませんが、こんなものもあるようです。 http://developer.apple.com/ja/technotes/tn2124.html ご参考までに。 -- Tomotaka SUWA From t-suwa @ users.sourceforge.jp Thu Oct 27 22:50:35 2005 From: t-suwa @ users.sourceforge.jp (Tomotaka SUWA) Date: Thu, 27 Oct 2005 22:50:35 +0900 Subject: [aquaskk-dev 22] =?iso-2022-jp?b?RGljdGlvbmFyeSAbJEIkTkpROTkbKEI=?= =?iso-2022-jp?b?GyRCJEskRCQkJEYbKEI=?= Message-ID: 諏訪です。 今週末に 2.5 をリリースする予定でしたが、ちょろちょろ不具合が出ているの で延期します。 # ただし、直る保証もありませんが... で、不具合の修正がてら、抽象辞書クラスである Dictionary のインタフェー スも変更したいと思っています。主な変更点は以下の通りです。 (1) 共有辞書とユーザー辞書のインタフェースを分離 抽象 Dictionary クラスから補完や辞書登録、保存等のメソッドを削除し、 これらを定義する抽象 UserDictionary クラスを追加します。 (2) 命名ルールの変更 今までは「送りあり」→ WithOkuri、「送りなし」→ WithoutOkuri でし たが、それぞれ OkuriAri、OkuriNasi に改めます。 この結果、SKK 辞書ファイル中の「;; okuri-ari entries.」や「;; okuri-nasi entries.」と対応することになります。 (3) メソッドの追加 Dictionary クラスに、「送りあり/なし」それぞれのエントリ数を返すメ ソッドを追加します。 具体的にはこんな感じです。 ===================== ここから ==================== #pragma once #include class CppCFString; class OkuriganaEntry; // 抽象辞書クラス class Dictionary { public: virtual ~Dictionary() {}; // 辞書の情報 virtual int countOkuriAri() = 0; virtual int countOkuriNasi() = 0; // 検索 virtual std::vector findOkuriAri(const CppCFString& query) = 0; virtual std::vector findOkuriNasi(const CppCFString& query) = 0; }; // 抽象ユーザー辞書クラス class UserDictionary: public Dictionary { public: virtual ~UserDictionary() {}; // 見出し語の補完 virtual std::vector findCompletions(const CppCFString& query) = 0; // 単語登録 virtual void registerOkuriAi(const CppCFString& index, const CppCFString& okuri, const CppCFString& kanji) = 0; virtual void registerOkuriNasi(const CppCFString& index, const CppCFString& kanji) = 0; // 単語削除 virtual void removeOkuriAri(const CppCFString& index, const CppCFString& okuri, const CppCFString& kanji) = 0; virtual void removeOkuriNasi(const CppCFString& index, const CppCFString& kanji) = 0; // 保存 virtual void save() = 0; }; ===================== ここまで ==================== SKKDictionary や DMDictionary は今まで通り、Dictionary クラスを継承しま す。これとは別に、ユーザー辞書を具現化する SKKUserDictionary クラスを追 加します。当然のことですが、SKKUserDictionary は UserDictionary を継承 することになります。 ざっとこんな変更を、二週間ぐらいでやってしまおうかと思うのですが、どう でしょうか? インタフェースに関する疑問質問叱咤激励その他のアイデアなど があれば、よろしくお願いします。 ロードマップをまとめると、 AquaSKK 2.4 リリース ↓ humble-ascii-mode-1.0 ↓ 細々としたバグ修正 ← 今ここ!!! ↓ Dictionary インタフェースの変更と関連する修正 ↓ AquaSKK 2.5 リリース(リリースタグ:release-2_5) ↓ SKK 関連辞書の改善(ブランチ:dictionary-renovation) ↓ AquaSKK 2.6 リリース(?) って感じですね。 阿部さんも辞書関連の拡張を希望されているので、抽象辞書クラスの変更は結 構インパクトがあると思います。 なので、インタフェースの変更について不明な点があれば、なんでも聞いて下 さい。ここは急がず、じっくり進めていくつもりです。 よろしくお願いします。 -- Tomotaka SUWA