No タイトル ステータス 重要度 担当 完了予定日 更新日時 記事数
28 前後フィードバック機能のサポート 未着手 未定 2018-02-20 03:08 2008-02-19 23:12 6
質問箱/236 前後フィードバック機能のサポート
http://xyzzy.s53.xrea.com/wiki/index.php?%BC%C1%CC%E4%C8%A2%2F236


をためしに実装してみました。
一応は動いていますが、あっているかどうかは自信がありません。
添付ファイル:
documentfeed.diff
バッグってたので修正
添付ファイル:
documentfeed2.diff
> documentfeed2.diff

**toplev.cc
- if ((msg == msime || msg == atok))
-- 括弧が多い

**kbd.cc
- selected_buffer () が不要
- strlen の戻り値は size_t
-- なんかもっとうまい方法がありそう
- unicode_p が真のときに:
-- 最初のリクエストの戻り値のバッファ長が不正
-- 2回目のリクエストでバッファの中身が不正 (コピーしてないじゃん)
-- 無駄に xmalloc している
--- メモリリークしている
--- 最初のリクエストで正しい長さを返していれば xmalloc は不要
はやいッスね~
*ime-documentfeed-helper* を介しているのは再変換にあわせてだと思うのですが、前後フィードバックの場合いらなくないですかね。
自分の第一印象がLisp層を介さない実装だったので。
Lisp層を介すとGCが絡んで面倒じゃないかなぁと思っていたりもします。
とりあえず自分は、Lisp層を介さない方向でソースを調べてみます。亀井さんのポリシーがどんな感じかもあわせて。
> -- 2回目のリクエストでバッファの中身が不正 (コピーしてないじゃん)
これは勘違い。

で、指摘事項はすべて直しました。添付します。
添付ファイル:
documentfeed3.diff
> *ime-documentfeed-helper* を介しているのは再変換にあわせてだと思うのですが、前後フィードバックの場合いらなくないですかね。

あ、単純に手抜きです。
#Cレベルで save-excursion とかする方法をしらないので。。。