YamaKen
yamak****@bp*****
2004年 4月 13日 (火) 07:39:09 JST
ヤマケンです。 At Tue, 13 Apr 2004 04:48:07 +0900, ekato****@ees***** wrote: > > skk.scm の skk-back-to-kanji-state が少しおかしいようです。送りがなが二 > 文字ある場合、文字が抜けてしまいます。 > > 現状では、例えば > > ▼去って > > という状態において C-g で変換をキャンセルした場合 > > ▽さて > > となってしまいます。ということで以下のように変更しました。 > > --- skk.scm.orig Thu Apr 8 23:22:45 2004 > +++ skk.scm Tue Apr 13 04:28:10 2004 > @@ -882,8 +882,8 @@ > (skk-context-set-okuri-head! sc "") > (if (car (skk-context-okuri sc)) > (skk-context-set-head! sc > - (cons (car (skk-context-okuri sc)) > - (skk-context-head sc)))) > + (append (skk-context-okuri sc) > + (skk-context-head sc)))) > (skk-context-set-okuri! sc ()))) > > (define skk-proc-state-converting > > > これで > > ▽さって > > に戻ると思います。 ありがとうございます。動作を確認してcommitしておきました。 上記の修正とは無関係に、ついでに以下のような修正も加えておきまし た。 - (if (car (skk-context-okuri sc)) + (if (not (null? (skk-context-okuri sc))) siodでは()と#fが内部的に同じものとして扱われているので(if () hoge) という式が通ってしまうのですが、R5RSに従った処理系ではエラーになっ てしまうはずです(間違っていたらご指摘下さい)。将来的にuimの Schemeインタプリタを別の実装に置き換える事も考えられますので、今 からできるだけ#fと()の区別を心がけるようにお願いします >ALL ------------------------------- ヤマケン yamak****@bp*****