[Anthy-dev 831] boolean value representation is inconsistent

Zurück zum Archiv-Index

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

    というように変更するということです.




Anthy-dev メーリングリストの案内
Zurück zum Archiv-Index