2007-11-10から1日間の記事一覧

link:Subversion のコンパイル (for Windows) 基本編 (VS2005)

http://www.asahi-net.or.jp/~iu9m-tcym/svndoc/svn_basic_2005.html VS2005でSubversionのRubyバインディングをコンパイルしようとしたら、さんざんファイルを追加した末に失敗…orz。 とりあえず、リンク先を読んでリベンジ予定。

Rua: タスク-オブジェクトをテーブルに変換する

とりあえず、よく分からんオブジェクトはuserdataじゃなくて関数持ってるテーブルに変換しちゃえばいいかも。

Rua: function rb_protect

http://doc.loveruby.net/refm/capi/view/function/rb_protect rb_protectという大域脱出を補足してくれる関数があることを、ここを読んで知った。 Ruby拡張で言語バインディングの記事は参考になるなぁ。Lua自体には例外処理機能はないみたいだからLuaの関…

Rua: function rb_protect その2

以下のような感じで、うまく例外を補足できた。コメントアウトをはずすと、もっかい例外が飛んでく。 static int rua_proc_call(lua_State *L) { VALUE proc, args, retval; int i, n, status; proc = (VALUE) lua_touserdata(L, lua_upvalueindex(1)); args…

Rua: 例外ハンドラを受け取るようにした

http://storehouse.sakura.ne.jp/viewvc/viewvc.cgi/rua/rua/rua.c?root=svn&view=markup ソース static int rua_proc_call(lua_State *L) { VALUE proc, args, retval, error_handler, errargs, errmsg; int i, n, status; proc = (VALUE) lua_touserdata(L…

Rua: オブジェクトをテーブルに変換するようにした。

http://storehouse.sakura.ne.jp/viewvc/viewvc.cgi/rua/rua/rua.c?root=svn&view=markup とりあえずこれで完成かな。 あとは、extconf.rb書いて、RubyForgeに登録してwin32用のバイナリ作って。。。 変換するコードはこんな感じ。 static void rua_newtable…