uim-sh (3)

とりあえずuim-shが動く所までは持ってきた。分かっている問題を列挙していく。

  • uim/uim-util.c
    • iterate_listがうまくnull listを扱えない。R5RSではuim_scm_car(SigScm_nil)がエラーになる。これにより、filter-map等がエラーになる。
      • (car '())や(cdr '())を許す事にした。uimはこれを前提としているコードが多すぎるので、まだいちいちこれをチェックする段階ではない。
  • uim/uim-scm.c
    • uim_scm_quoteがadhoc。SigSchem側のScmOp_quoteが外部から使われる事を仮定していない。
  • scm/uim-sh.scm
    • uim-sh -Bの出力が出ない
      • r1230でfix。SigSchemeのエラーハンドリングはrewriteする必要が有る。
    • uim-sh -Bでuim-sh>の表示が出る。SigSchemeのバグ?根が深そう。少し構文を弄ると結果が変わる。ぬー。眠い頭では解決できず。
    • いつのまにか解決?メモリを侵蝕していたのだろうか?
  • scm/key.scm
    • define-keyをコメントアウトしているが、これを元に戻すとSEGVる。
    • uim_scm_eval_c_stringを使わない事で解決。根本的解決はまだ...
  • sigscheme/io.c
    • ScmOp_loadでのメモリ管理にバグ?途中でc_filenameが書き換わる
      • r1229でfix