[Anthy-dev 752] Re: skk.scm

Back to archive index

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*****



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