■
その3
せっかく CVS 版が build できたので、revision を遡って出現時点を特定しようと試みる。
Build できない。make が失敗する! 何でよ!? ちょっと source を修正して再挑戦。また失敗。失敗した部分を手直しして再挑戦。また失敗。
…
… [二時間経過]
GCC 4 のせいか…orz
もういい、寝る。
因みに build したのは 2005/04/10 の分。例の source を与えてみると
ERROR: bad lambda form: (#<id 0x807d5c0 scheme::lambda> ())
Stack Trace:
_______________________________________
って出た。
その2 compile.scm を load する
脳内で追いかけるのはちょっと辛いので (load "compile.scm") して普通に走ってる gosh から debug できないかやってみた。
…
…
挫折orz
無理これ。とりあえず eval-when は
(define-macro (eval-when condition . body)
`(begin . ,body))
という黒魔術で黙らせたけど、module がどうにもできん。Module を gauche.internal にしとくと走ってる gauche に static link された compile.c と競合するのか、select-module と define-module の組合せ次第で
ERROR: Compile Error: wrong number of arguments for #<closure pass3> (required 7, got 4)
とか
ERROR: Compile Error: proper list required for function application: ((item) . body)
とか理解不能な error が出る。Code 見ても 4 つしか引数無いのに…
そこで module 指定を comment out すると内部用の関数が見えなくなってやっぱり load が通らない。grep gauche.internal -R $(src_root) の結果は見なかったことに。
ということで今の知識では無理。脳内 interpreter 起動。