Kouhei Sutou
kou****@cozmi*****
2004年 5月 18日 (火) 03:03:34 JST
須藤です. (現実逃避で)[Uim-bugs 617]をやっつけようかと思って,作業して います.test/以下のテストは全てパスしますが,test.shは日本語 を入力しようとすると,以下のようなエラーがでて,日本語入力で きません. ERROR: the currently assigned stack limit has been exceeded しかし,私のコードのバグなのか,scm/*.scmが#t->1/#f->()とい うsiodの仕様に依存して書かれているために起こっている問題なの かわかりません.もしよかったら,scm/*.scmのためのテストをもっ と追加してもらえますか? # 少なくとも,scm/im.scmのassqの使い方は怪しい気がします. とりあえず,現状のパッチを以下のURLにおいておきます. # メールに付けたらでかすぎると怒られてしまいました. :< http://pub.cozmixng.org/~kou/diff/uim-siod-to-r5rs-20040518.diff 以下,パッチの補足説明です. * scm/im.scm: 私が仕様を理解していないため,かなり怪しいです. * test/uim-test-utils.scm: 出力ポートをバッファリングしないようにしたため,テストの 進行状況を表す"."が一つづつでるようになります.:) まだ,リリースしていませんが,GaUnit 0.0.6以降で有効にな るGaUnitの使用法を追加しておきました. * test/test-*.scm: uim-boolをuimに置き換えました. assert-errorは (assert-error errorになってほしいフォーム) ではなく (assert-error (lambda () errorになってほしいフォーム)) というように使います. set!はテストしなくても良い気がする(戻り値は未定義じゃな かったかしら)ので,テストしないようにしました. つまり, (assert-true (uim-bool '(set! foo 0))) を (uim '(set! foo 0)) というように変更するということです.