summaryrefslogtreecommitdiffhomepage
path: root/src
AgeCommit message (Collapse)Author
2014-12-23Fix splat and multiple assignmentsKouhei Sutou
Case1: From variable Code: a = [1, 2, 3, 4, 5] b, c, *d = a p [a, b, c, d] Before: [[1, 2, 3, 4, 5], 1, 2, []] After: [[1, 2, 3, 4, 5], 1, 2, [3, 4, 5]] Ruby: [[1, 2, 3, 4, 5], 1, 2, [3, 4, 5]] Case2: From variables Code: a = [1, 2, 3] b = [4, 5, 6, 7] c, d, *e, f, g = *a, *b p [a, b, c, d, e, f, g] Before: [[1, 2, 3], [4, 5, 6, 7], 1, 2, [], 6, 7] After: [[1, 2, 3], [4, 5, 6, 7], 1, 2, [3, 4, 5], 6, 7] Ruby: [[1, 2, 3], [4, 5, 6, 7], 1, 2, [3, 4, 5], 6, 7] Case 3: "for" Code: a = [1, 2, 3, 4, 5, 6, 7] for b, c, *d, e, f in [a] do p [a, b, c, d, e, f] end Before: [[1, 2, 3, 4, 5, 6, 7], 1, 2, [], nil, nil] After: [[1, 2, 3, 4, 5, 6, 7], 1, 2, [3, 4, 5], 6, 7] Ruby: [[1, 2, 3, 4, 5, 6, 7], 1, 2, [3, 4, 5], 6, 7]
2014-12-19block_given? should return correct value when called in blocks; close #2678Yukihiro "Matz" Matsumoto
avoid a loop to find parent's callinfo using mrb->c->cibase[env->cioff]
2014-12-19block_given? should return false on top-level; ref #2678Yukihiro "Matz" Matsumoto
2014-12-17String#[]: float handling merged to #2677Yukihiro "Matz" Matsumoto
2014-12-17try to convert not only nil but every objects to fixnums; ref #2677Yukihiro "Matz" Matsumoto
2014-12-17String#[] should reject nil indexh2so5
2014-12-17mrb_str_new(mrb, "", len) creates an unmodifiable string object; ref #2674Yukihiro "Matz" Matsumoto
2014-12-12Fix crash if #inspect does not return a string valuesdottaka
case 1 ~~~ class A; def inspect; 1; end; end A.new.a ~~~ case 2 ~~~ class A def self.inspect 1 end alias_method :a, :b end ~~~
2014-12-12mrb_p() should print mrb_obj_as_string() if #inspect does not return a ↵Yukihiro "Matz" Matsumoto
string value
2014-12-11block_given did not work with nested block invocation for some cases; fix #2665Yukihiro "Matz" Matsumoto
2014-12-11mrb_parser_dump() did not work with block argumentsYukihiro "Matz" Matsumoto
2014-12-01should not pop register when value from multiple assignment requiredYukihiro "Matz" Matsumoto
2014-11-28preserve ICLASS in ci->target_class; fix #2657; ensuring #1467 #1470 #1493 ↵Yukihiro "Matz" Matsumoto
still works
2014-11-27wrong register adjustmentYukihiro "Matz" Matsumoto
2014-11-26add "fall through" commentYukihiro "Matz" Matsumoto
2014-11-26fix(String) String#[] accepts float; close #2650 #2651Robert Mosolgo
2014-11-26wrong register number adjustment in multiple assignment; fix #2654Yukihiro "Matz" Matsumoto
2014-11-26OP_APOST local variable display was wrongYukihiro "Matz" Matsumoto
2014-11-25remove unnecessary _WIN32 preprocessor checkcremno
SIZE_MAX < UINT32_MAX is false on Win32 / Win64.
2014-11-23align indent of local variable names in codedump()Yukihiro "Matz" Matsumoto
2014-11-22should support recursive mlhs decomposition, e.g. (a,b),c = [1,2],3Yukihiro "Matz" Matsumoto
2014-11-19Fix an error when calling a method implemented in C by super() with ↵sdottaka
arguments. This fix makes the following code workable: Expected: class MRBTime < Time; def self.new; super(2012, 4, 21); end; end MRBTime.new # => Sat Apr 21 00:00:00 2012 Actual: class MRBTime < Time; def self.new; super(2012, 4, 21); end; end MRBTime.new # => can't convert nil into Integer (TypeError)
2014-11-19separate mrb_notimplement() and mrb_notimplement_m(); ref #2636Yukihiro "Matz" Matsumoto
2014-11-17fix mrb_notimplement typoRobert Mosolgo
2014-11-17Implement C API mrb_notimplementksss
2014-11-12add Float::{INFINITY,NAN} if availableYukihiro "Matz" Matsumoto
2014-11-06%zu format is not supported by MSVCHiroshi Mimaki
2014-11-04avoid using rewind(3) to load mrb filesYukihiro "Matz" Matsumoto
2014-11-04read whole mrb file at once to calculate correct padding offset; ref #2630Yukihiro "Matz" Matsumoto
2014-11-04specify alignment specifier for GCC and MSC; ref #2630Yukihiro "Matz" Matsumoto
2014-11-04Fix misaligned access when reading irep; close #2630Yukihiro "Matz" Matsumoto
Add padding bytes before iseq block that may be used as mrb_code[]. Note that dumped mrb format has changed. Based on a patch from kimu_shu <[email protected]>
2014-10-30avoid wrong ArgumentError from mrb_get_args() when surrounding method takes ↵Yukihiro "Matz" Matsumoto
more than one argument; ref #2627
2014-10-30add cast to return from aget_index(); ref #2627Yukihiro "Matz" Matsumoto
2014-10-29Handle Array#[float, int] Close #2626mattn
2014-10-29Fix mrb_convert_to_integer.Jun Hiroe
2014-10-28Refactor for_body funcJun Hiroe
2014-10-28Merge pull request #2623 from suzukaze/fix-indentYukihiro "Matz" Matsumoto
Fix indent
2014-10-28Merge pull request #2621 from suzukaze/fix-parse_stringYukihiro "Matz" Matsumoto
Replace int with mrb_bool in parse_string func
2014-10-28Fix indentJun Hiroe
2014-10-28Replace int with mrb_bool in parse_string funcJun Hiroe
2014-10-28Replace int with mrb_bool in local_var_p funcJun Hiroe
2014-10-27Refactor yylex funcJun Hiroe
2014-10-27Refactor mrbc_context_new funcJun Hiroe
2014-10-20instance_methods etc should not include undef'ed method names; based on a ↵Yukihiro "Matz" Matsumoto
patch from @cremno; fix #2613
2014-10-15fix typo (i->idx)Jan Berdajs
2014-10-02fixed. cygwin-gcc(ver4.8.3) warning in conv_digit()Hiroyuki Matsuzaki
2014-10-02cast MRB_ENV_STACK_LEN to (mrb_int); ref #2600Yukihiro "Matz" Matsumoto
2014-10-02Pacify MSVC warnings for numeric.c, proc.c, and symbol.cHiroshi Mimaki
2014-10-01load.c to use mrb_ro_data_p()Yukihiro "Matz" Matsumoto
2014-09-30mrbconf.h option MRB_USE_ETEXT_EDATA to reduce memory.Yukihiro "Matz" Matsumoto
on platforms with _etext and _edata, mruby can distinguish string literals so that it avoids memory allocation to copy them. for example, on my Linux box (x86 32bit), memory consumed by mrbtest decreased from 8,168,203 to 8,078,848 (reduced 88KB).