ruby-changes:16184
From: nobu <ko1@a...>
Date: Thu, 3 Jun 2010 19:02:39 +0900 (JST)
Subject: [ruby-changes:16184] Ruby:r28147 (trunk, ruby_1_9_2): * load.c (ruby_init_ext): statically linked extensions have no
nobu 2010-06-03 18:58:32 +0900 (Thu, 03 Jun 2010) New Revision: 28147 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=28147 Log: * load.c (ruby_init_ext): statically linked extensions have no real path. [ruby-dev:41526] * vm.c (rb_vm_call_cfunc): add filepath argument. Modified files: branches/ruby_1_9_2/ChangeLog branches/ruby_1_9_2/eval_intern.h branches/ruby_1_9_2/load.c branches/ruby_1_9_2/vm.c trunk/ChangeLog trunk/eval_intern.h trunk/load.c trunk/vm.c Index: eval_intern.h =================================================================== --- eval_intern.h (revision 28146) +++ eval_intern.h (revision 28147) @@ -205,7 +205,7 @@ VALUE rb_vm_make_jump_tag_but_local_jump(int state, VALUE val); NODE *rb_vm_cref(void); -VALUE rb_vm_call_cfunc(VALUE recv, VALUE (*func)(VALUE), VALUE arg, const rb_block_t *blockptr, VALUE filename); +VALUE rb_vm_call_cfunc(VALUE recv, VALUE (*func)(VALUE), VALUE arg, const rb_block_t *blockptr, VALUE filename, VALUE filepath); void rb_vm_set_progname(VALUE filename); void rb_thread_terminate_all(void); VALUE rb_vm_top_self(); Index: ChangeLog =================================================================== --- ChangeLog (revision 28146) +++ ChangeLog (revision 28147) @@ -1,3 +1,10 @@ +Thu Jun 3 18:58:28 2010 Nobuyoshi Nakada <nobu@r...> + + * load.c (ruby_init_ext): statically linked extensions have no + real path. [ruby-dev:41526] + + * vm.c (rb_vm_call_cfunc): add filepath argument. + Thu Jun 3 18:17:45 2010 Nobuyoshi Nakada <nobu@r...> * test/rake/test_win32.rb (Rake::TestWin32): update tests. Index: load.c =================================================================== --- load.c (revision 28146) +++ load.c (revision 28147) @@ -596,7 +596,7 @@ case 's': handle = (long)rb_vm_call_cfunc(rb_vm_top_self(), load_ext, - path, 0, path); + path, 0, path, path); rb_ary_push(ruby_dln_librefs, LONG2NUM(handle)); break; } @@ -643,7 +643,7 @@ { if (load_lock(name)) { rb_vm_call_cfunc(rb_vm_top_self(), init_ext_call, (VALUE)init, - 0, rb_str_new2(name)); + 0, rb_str_new2(name), Qnil); rb_provide(name); load_unlock(name, 1); } Index: vm.c =================================================================== --- vm.c (revision 28146) +++ vm.c (revision 28147) @@ -1444,11 +1444,11 @@ VALUE rb_vm_call_cfunc(VALUE recv, VALUE (*func)(VALUE), VALUE arg, - const rb_block_t *blockptr, VALUE filename) + const rb_block_t *blockptr, VALUE filename, VALUE filepath) { rb_thread_t *th = GET_THREAD(); const rb_control_frame_t *reg_cfp = th->cfp; - volatile VALUE iseqval = rb_iseq_new(0, filename, filename, filename, 0, ISEQ_TYPE_TOP); + volatile VALUE iseqval = rb_iseq_new(0, filename, filename, filepath, 0, ISEQ_TYPE_TOP); VALUE val; vm_push_frame(th, DATA_PTR(iseqval), VM_FRAME_MAGIC_TOP, Index: ruby_1_9_2/eval_intern.h =================================================================== --- ruby_1_9_2/eval_intern.h (revision 28146) +++ ruby_1_9_2/eval_intern.h (revision 28147) @@ -205,7 +205,7 @@ VALUE rb_vm_make_jump_tag_but_local_jump(int state, VALUE val); NODE *rb_vm_cref(void); -VALUE rb_vm_call_cfunc(VALUE recv, VALUE (*func)(VALUE), VALUE arg, const rb_block_t *blockptr, VALUE filename); +VALUE rb_vm_call_cfunc(VALUE recv, VALUE (*func)(VALUE), VALUE arg, const rb_block_t *blockptr, VALUE filename, VALUE filepath); void rb_vm_set_progname(VALUE filename); void rb_thread_terminate_all(void); VALUE rb_vm_top_self(); Index: ruby_1_9_2/ChangeLog =================================================================== --- ruby_1_9_2/ChangeLog (revision 28146) +++ ruby_1_9_2/ChangeLog (revision 28147) @@ -1,3 +1,10 @@ +Thu Jun 3 18:58:28 2010 Nobuyoshi Nakada <nobu@r...> + + * load.c (ruby_init_ext): statically linked extensions have no + real path. [ruby-dev:41526] + + * vm.c (rb_vm_call_cfunc): add filepath argument. + Thu Jun 3 18:17:45 2010 Nobuyoshi Nakada <nobu@r...> * test/rake/test_win32.rb (Rake::TestWin32): update tests. Index: ruby_1_9_2/load.c =================================================================== --- ruby_1_9_2/load.c (revision 28146) +++ ruby_1_9_2/load.c (revision 28147) @@ -596,7 +596,7 @@ case 's': handle = (long)rb_vm_call_cfunc(rb_vm_top_self(), load_ext, - path, 0, path); + path, 0, path, path); rb_ary_push(ruby_dln_librefs, LONG2NUM(handle)); break; } @@ -643,7 +643,7 @@ { if (load_lock(name)) { rb_vm_call_cfunc(rb_vm_top_self(), init_ext_call, (VALUE)init, - 0, rb_str_new2(name)); + 0, rb_str_new2(name), Qnil); rb_provide(name); load_unlock(name, 1); } Index: ruby_1_9_2/vm.c =================================================================== --- ruby_1_9_2/vm.c (revision 28146) +++ ruby_1_9_2/vm.c (revision 28147) @@ -1444,11 +1444,11 @@ VALUE rb_vm_call_cfunc(VALUE recv, VALUE (*func)(VALUE), VALUE arg, - const rb_block_t *blockptr, VALUE filename) + const rb_block_t *blockptr, VALUE filename, VALUE filepath) { rb_thread_t *th = GET_THREAD(); const rb_control_frame_t *reg_cfp = th->cfp; - volatile VALUE iseqval = rb_iseq_new(0, filename, filename, filename, 0, ISEQ_TYPE_TOP); + volatile VALUE iseqval = rb_iseq_new(0, filename, filename, filepath, 0, ISEQ_TYPE_TOP); VALUE val; vm_push_frame(th, DATA_PTR(iseqval), VM_FRAME_MAGIC_TOP, -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/