rua 0.2.3-mswin32 → 0.2.4-mswin32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.txt +4 -0
- data/ext/rua.c +30 -5
- data/lib/i386-mswin32/rua.so +0 -0
- metadata +2 -2
    
        data/README.txt
    CHANGED
    
    | @@ -32,6 +32,7 @@ http://rubyforge.org/frs/?group_id=4845 | |
| 32 32 |  | 
| 33 33 | 
             
                rua.str = 'xxx'
         | 
| 34 34 | 
             
                rua.num = 100
         | 
| 35 | 
            +
                rua.range = 1..5
         | 
| 35 36 | 
             
                rua.proc = lambda do
         | 
| 36 37 | 
             
                  puts 'proc called.'
         | 
| 37 38 | 
             
                end
         | 
| @@ -45,6 +46,9 @@ http://rubyforge.org/frs/?group_id=4845 | |
| 45 46 | 
             
                  print('hello Rua!')
         | 
| 46 47 | 
             
                  print(str)
         | 
| 47 48 | 
             
                  print(num)
         | 
| 49 | 
            +
                  range.each(function(i)
         | 
| 50 | 
            +
                    print(i)
         | 
| 51 | 
            +
                  end)
         | 
| 48 52 | 
             
                  proc()
         | 
| 49 53 | 
             
                  err()
         | 
| 50 54 | 
             
                  print(Time.new().to_s())
         | 
    
        data/ext/rua.c
    CHANGED
    
    | @@ -16,7 +16,7 @@ __declspec(dllexport) void Init_rua(void); | |
| 16 16 |  | 
| 17 17 | 
             
            #include "rua.h"
         | 
| 18 18 |  | 
| 19 | 
            -
            #define VERSION "0.2. | 
| 19 | 
            +
            #define VERSION "0.2.4"
         | 
| 20 20 | 
             
            #define REF_RBOBJ "self"
         | 
| 21 21 |  | 
| 22 22 | 
             
            static const char *insecure_methods[] = {
         | 
| @@ -686,7 +686,7 @@ static void rua_newtable_from_obj(lua_State *L, VALUE obj, struct rua_state *R) | |
| 686 686 |  | 
| 687 687 | 
             
            static int rua_proc_call(lua_State *L) {
         | 
| 688 688 | 
             
              struct rua_state *R;
         | 
| 689 | 
            -
              VALUE proc, args, retval, errargs;
         | 
| 689 | 
            +
              VALUE proc, args, last, retval, errargs;
         | 
| 690 690 | 
             
              int i, n, status;
         | 
| 691 691 |  | 
| 692 692 | 
             
              proc = (VALUE) lua_touserdata(L, lua_upvalueindex(1));
         | 
| @@ -698,8 +698,14 @@ static int rua_proc_call(lua_State *L) { | |
| 698 698 | 
             
                rb_ary_push(args, rua_torbval(L, i + 1, R));
         | 
| 699 699 | 
             
              }
         | 
| 700 700 |  | 
| 701 | 
            +
              last = (i > 0) ? rb_ary_entry(args, -1) : Qnil;
         | 
| 701 702 | 
             
              rb_ary_push(args, proc);
         | 
| 702 | 
            -
             | 
| 703 | 
            +
             | 
| 704 | 
            +
              if (rb_obj_is_kind_of(last, RuaFunc)) {
         | 
| 705 | 
            +
                retval = rb_protect(_rua_proc_call_with_block, args, &status);
         | 
| 706 | 
            +
              } else {
         | 
| 707 | 
            +
                retval = rb_protect(_rua_proc_call, args, &status);
         | 
| 708 | 
            +
              }
         | 
| 703 709 |  | 
| 704 710 | 
             
              if (status != 0) {
         | 
| 705 711 | 
             
                if (rua_obj_is_executable(R->error_handler)) {
         | 
| @@ -721,9 +727,28 @@ static int rua_proc_call(lua_State *L) { | |
| 721 727 | 
             
            }
         | 
| 722 728 |  | 
| 723 729 | 
             
            static VALUE _rua_proc_call(VALUE args) {
         | 
| 724 | 
            -
              VALUE proc | 
| 730 | 
            +
              VALUE proc;
         | 
| 731 | 
            +
             | 
| 732 | 
            +
              proc = rb_ary_pop(args);
         | 
| 733 | 
            +
              return rb_funcall2(proc, rb_intern("call"), RARRAY(args)->len, RARRAY(args)->ptr);
         | 
| 734 | 
            +
            }
         | 
| 735 | 
            +
             | 
| 725 736 |  | 
| 726 | 
            -
             | 
| 737 | 
            +
            static VALUE _rua_proc_call_with_block(VALUE args) {
         | 
| 738 | 
            +
              VALUE proc, block;
         | 
| 739 | 
            +
             | 
| 740 | 
            +
              proc = rb_ary_pop(args);
         | 
| 741 | 
            +
              block = rb_ary_pop(args);
         | 
| 742 | 
            +
              rb_ary_push(args, proc);
         | 
| 743 | 
            +
              return rb_iterate(_rua_proc_call, args, _rua_proc_call_as_block, block);
         | 
| 744 | 
            +
            }
         | 
| 745 | 
            +
             | 
| 746 | 
            +
            static VALUE _rua_proc_call_as_block(VALUE block_arg, VALUE block, VALUE self) {
         | 
| 747 | 
            +
              if (TYPE(block_arg) == T_ARRAY) {
         | 
| 748 | 
            +
                return rb_apply(block, rb_intern("call"), block_arg);
         | 
| 749 | 
            +
              } else {
         | 
| 750 | 
            +
                return rb_funcall(block, rb_intern("call"), 1, block_arg);
         | 
| 751 | 
            +
              }
         | 
| 727 752 | 
             
            }
         | 
| 728 753 |  | 
| 729 754 | 
             
            static VALUE rua_toruaobj(VALUE klass, lua_State *L, int idx, struct rua_state *R) {
         | 
    
        data/lib/i386-mswin32/rua.so
    CHANGED
    
    | Binary file | 
    
        metadata
    CHANGED
    
    | @@ -3,8 +3,8 @@ rubygems_version: 0.9.2 | |
| 3 3 | 
             
            specification_version: 1
         | 
| 4 4 | 
             
            name: rua
         | 
| 5 5 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 6 | 
            -
              version: 0.2. | 
| 7 | 
            -
            date: 2007-11- | 
| 6 | 
            +
              version: 0.2.4
         | 
| 7 | 
            +
            date: 2007-11-22 00:00:00 +09:00
         | 
| 8 8 | 
             
            summary: Rua is a library for using Lua under Ruby.
         | 
| 9 9 | 
             
            require_paths: 
         | 
| 10 10 | 
             
            - lib/i386-mswin32
         |