Vim6+ Part12
■ このスレッドは過去ログ倉庫に格納されています
0368名無しさん@お腹いっぱい。
2006/01/28(土) 17:43:33rubyはスタックの先頭から最後までgcのときに見ます。
スタックの先頭はruby_initが呼ばれたときのスタックの位置に設
定されます。スタックの最後はgcが呼ばれたときのスタックの位置
です。
vimでは最初にruby(rubydo, rubyfile)コマンドが実行されたとき
にruby_initを呼びますが、スタックの深い位置で呼ばれることも
あります。そしてgcが発生したときのスタックの位置がruby_init
で設定されたスタックの先頭よりも浅いときに落ちます。
解決策はvimのmainの中でrubyのスタックの先頭を設定することです。
Init_stackスタックに渡したアドレスがスタックの先頭になります。
Init_stack(&argc);
■ このスレッドは過去ログ倉庫に格納されています