AIDA Shinra
shinr****@j10n*****
2004年 3月 16日 (火) 02:29:13 JST
相田です。 > ■ ソケットをおさめるディレクトリのパーミッション こういうのは、管理者のポリシー等が絡んでくるので、rootに良きに計らってもらうことにしましょう。そもそも、みんなで/tmp/ .iroha_unixを使うというのが既に設計ミスなので。 > ■ バッファサイズが足りない? >> いずれにしろバッファの溢れを警戒するならstrcpy()とかsprintf(3)とかを止め >> て、strncpy(3)やsnprintf(3)を使用する様に変更していく必要があります。 >> (snprintf(3)は持ってないOSも多いでしょうけど。) 今のuilibの枠組みで境界チェックをまともに実装するのは困難なので、今のuilibを捨てる日が来るまで放っておくしかないと思います。 > > ■ SunOS 4.1 の cc によるコンパイルエラー > [Canna 4732] に以下のような報告があります。ここで名前の挙がっている > empty.c 以下のファイルは、現在でも指摘されているような形式で文字列定数が > 使われているようです。 > 今さら SunOS 4.1 のような古い OS でかんなを使うことはないでしょうし、 > わざわざ直すほどのことはないかもしれません。 趣味でSunOS4とかNEWSとかNeXTとか動かしている人はいるかもしれませんが、gccくらい入れているでしょうし、「純正コンパイラを使いた いんだ!」という人もツール一本で対応できるでしょう。 > ■ バージョン表示 > [Canna 4844] で、今さんが次のように述べています。 >>> 一つは、Muleから canna-extend-modeでサーバのバージョン表示をさせ >>> ると、最初につないだものしかでません。途中で、前のバージョン >>> (3.2)のかんなにつないでも、バージョン表示は 3.5 beta2 と出てしま >>> います。 > >> あれれ〜。これはバグだねえ(それもずーっと前からの(^^;))。対 >> 処します。 > これがバグだとすると、現在も同じ状態のままのようです。(ただ、本当にバ > グかどうかちょっと疑問が残ります。環境設定→バージョン表示で表示されるべ > きものは、cannaserver のバージョンと libcanna のバージョンのどちらでしょ > うか。もし後者が意図されているのだとすれば、これこそが正しい動作というこ > とになりますが…) どう見てもlibcannaのバージョンをずばり表示しているので、正常動作です。「サーバ操作」のメニューでサーバのバージョンを表示できると嬉しい 人はいるかもしれません。 > ■ 付属語辞書が、バイナリ形式からテキスト形式へ変更できない > [Canna 4881] より。 >> 今さん> また、岩波辞書を一度 3.2 でテキストに戻して 3.5 でバイナリに >> 今さん> 変換するということでも利用できるかと思われます。(※岩波辞書 >> 今さん> の版権/著作権にご注意下さい) > >> ご忠告ありがとうございます.もし,その方法を使うときには注意します. >> この方法を用いるとき,suffixのような付属語辞書のバイナリ辞書をうまく >> テキスト辞書に戻すことができません.何か方法はありますでしょうか? 手元で実験してみると、問題なくテキスト辞書になります。いじった覚えはないのですが。 > ■ 学習の問題 > [Canna 5001] には以下のように述べられています。学習については相田さん > がだいぶ手を入れられたようなので、現状ではこの問題はないのかもしれません。 はい、直っています。 > ■ temporary の効果が quit で消えない > [Canna 5284]より。これがどれくらい重要なものなのか(そして、そもそも本 > 当にバグなのか)、私には判断がつきませんが、一応。 >> 英語を入力しやすくするのならtemporaryを駆使して、 >> (set-key 'empty-mode "/" '(temporary base-eisu base-hankaku)) >> なんてのはどうでしょう。/を押すと半角英数になり、一度確定すると >> 元のモードに戻ります。ただし、'quitしたときに元に戻らないバグが >> あるのが難点。 > >> # 10年前に直すといっていた気がするけど… > 今さん quitでも元のモードに戻るようにしました。ついでに、逐次では読みを消してもtemporaryの効果が消えなかったのですが、誰が見ても戻し忘れ なので直しました。 > ■ プロトコルについて > [Canna 5525] より。これも私にはチンプンカンプンです。 >> RemoveYomi は INT8 で文節数を返すようになっていますが >> (もし WIDE_PROTO が undefined な場合。server/wconvert.c の >> irw_remove_bun() -> lib/RK/bun.c の RkwRemoveBun() と呼ばれてるっぽい?) > >> まず >> 1) doc/intern/protocol.tex の記述と違う >> ここでは 0/-1 を返すと、かかれている >> 2) そもそも INT8 (Type2) で文節数を返すことに違和感を覚える。 >> 他では文節数は INT16 を使っていますよね。 > >> という二点が気になっています。protocol.tex に従って 0/-1 を返す >> かんなサーバー(某esecannaserverですが)では RemoveYomi が呼ばれると >> 呼んだクライアントの変換バッファの表示がとち狂います。 今はesecannaserverも実際のcannaの動作に合わせています。protocol.texの方を実装に合わせておきました。 > ■ 文法辞書を作るコマンドのリクエスト > [Canna 2736] より。 >> ・mkgramdic が欲しい > >> 自立語辞書と比べて、文法辞書は作りにくいので、mkgramdic という >> コマンドを作って、 > >> ../../../cmd/forcpp/forcpp -7 < gram.code | /usr/bin/cpp -USX | >> ../../../cmd/forcpp/forcpp -8 > cpp.gram >> ../../../cmd/crxgram/crxgram -f cpp.gram >> Undefined row vectors: BM >> rows 499 cols 348 >> ../../../cmd/forsort/forsort -7 < cnj.swd | sort | >> ../../../cmd/forsort/forsort -8 | ../../../cmd/mergewd/mergeword >> > fuzokugo.swd >> ../../../cmd/crxdic/crxdic -s -o fuzokugo.d -D cnj.bits -n fuzokugo >> fuzokugo.swd >> fuzokugo.swd [ Mon Jun 20 09:34:41 1994 ] = 305 + 182 >> cat cnj.bits >> fuzokugo.d >> ../../../cmd/crfreq/crfreq fuzokugo.d fuzokugo.swd >> FQ size 886 bits 111 bytes > >> の部分を一つの操作で簡便に作れるようにして頂ければ、一般の >> ユーザにとって、文法辞書作りがいっそう簡単になると思います。 コマンドは既に多すぎるので、今更増やしたくはありません。それに、文法をいじり出せば、品詞もいじることになるでしょうから、普通の人が文法を変える ことは想定しなくていいと思います。 > ■ 機能のリクエスト > [Canna 4302] より。話を簡単にするため、canna.el に対するリクエストは除 > いてあります。 >> ・どうせ変換しないんだから、ユーティリティメニューで「連文節」「逐次」 >> の他に「無変換」を入れたい。 熱く要求する人がいれば入れるのもいいでしょう。やるとすれば、「無変換」と言ってもいろいろなものがあること、「連文節」「逐次」との関係が微妙に なっていることを考慮して、作り込みたいところです。 >> ・長い文字列を canna-henkan-region で変換すると、途中から先が捨て >> られてしまう。仮名にして 320 文字から先は、消えてしまう。320 文字 >> より長い文字列を変換できる必要はないが、320 文字目から先を捨てないで >> ほしい。ついでに言うと、連文節変換で入力できる仮名は 200 文字強 >> (文字列によって違うが)だが、もう少し長いと(320文字までいけると) >> 嬉しい。 現状では無理です。