YamaKen
yamak****@bp*****
2004年 9月 27日 (月) 17:09:00 JST
ヤマケンです。 At Sun, 26 Sep 2004 17:24:52 -0700, jun0****@nerds***** wrote: > 再帰的 load にも対応させました。修正部分を添付します(もうほぼ別物ですが)。 > それ以外にも protect 指定の追加など、細かい修正が含まれています。 commitしておきました。ありがとうございます。 実は昨日から以下のような対話的デバッガもどきを試しているんですが、 今回の井上さんの変更で行番号情報が柔軟に扱えるようになったので、 ファイル名と行番号を指定してbreakpointを仕掛けたりできるようにな るんじゃないかと思います。 (define debug (lambda (env) (puts "uimdb> ") (let* ((expr (read)) (continue (or (eq? expr 'c) (eq? expr 'cont) (eq? expr 'continue)))) (if (not continue) (begin (print (eval expr env)) (debug env)) #f)))) 現在は以下のようにソース中に直接(debug (the-environment))を埋め 込んでbreakpointもどきを実現しています。 (define skk-do-update-preedit (lambda (sc) (let ((rkc (skk-context-rk-context sc)) (stat (skk-context-state sc)) (csc (skk-context-child-context sc))) (debug (the-environment)) ここが実行されると以下のようにuim-sh相当の対話的評価が行えるよう になりますが、やっぱりソースをいじらずに色々できると嬉しいですね。 uimdb> stat skk-state-direct uimdb> cont (実行再開) 言うだけ言いましたが、私自身は他の作業を進めるつもりなので当分デ バッガ的機能を開発する事は無いと思います。我こそはと思う方は siod.cと遊んでみてください。 > On Mon, 27 Sep 2004 00:13:38 +0900 (JST) > yusuk****@cheru***** wrote: > > > 田畑です。 > > > > パッチありがとうございます。commitさせていだだきました。 > > ただし、require等でファイルのロードがネストして行われた場合に > > ファイル名の情報がNILになってしまいますね。 > > > > 明日仕事から帰ってからにでも何とかしてみようと思います。 > > > > > 井上です。 > > > uim-sh で backtrace 時にデバッグ情報 (ファイル名:行番号) を表示するよ > > > うにしてみました。--enable-debug で有効になりますが、別オプションにし > > > た方がいいかも知れません。 ------------------------------- ヤマケン yamak****@bp*****