summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2017-03-29Should raise FloatDomainErrorksss
2017-03-29Merge pull request #3563 from clayton-shopify/dup-renumber-keysYukihiro "Matz" Matsumoto
Renumber hash keys during dup since there may be duplicates.
2017-03-29Merge pull request #3564 from okkez/set-proper-class-to-subclass-of-arrayYukihiro "Matz" Matsumoto
Set proper class to subclass of Array
2017-03-29Set proper class to subclass of Arrayokkez
More compatibility to CRuby.
2017-03-28Renumber hash keys during dup since there may be duplicates.Clayton Smith
2017-03-28Avoid inline local variable declarations; fix #3554Yukihiro "Matz" Matsumoto
2017-03-28Merge pull request #3553 from okkez/add-array-slice-bangYukihiro "Matz" Matsumoto
Implement Array#slice!
2017-03-28Implement Array#slice!Kenji Okimoto
2017-03-28Merge pull request #3552 from ksss/timeYukihiro "Matz" Matsumoto
Fix infinity loop ref #3546
2017-03-28Fix infinity loopksss
And some cases should raise FloatDomainError
2017-03-27Merge pull request #3544 from ksss/linenoYukihiro "Matz" Matsumoto
Fix lost lineno
2017-03-27Merge pull request #3545 from keizo042/ignore_tagsYukihiro "Matz" Matsumoto
Ignore file generated by ctags
2017-03-26Ignore file generated by ctagsKouichi Nakanishi
2017-03-25Fix lost linenoksss
2017-03-23Use MRB_PRId for NODE_NTH_REF; ref #3530Yukihiro "Matz" Matsumoto
2017-03-23Cast to mrb_int to silence a warning; fix #3530Yukihiro "Matz" Matsumoto
2017-03-23Merge pull request #3529 from kou/hash-ext-sub-classYukihiro "Matz" Matsumoto
Hash sub class creates new sub class objects instead of Hash
2017-03-23Merge pull request #3536 from ksss/string-subYukihiro "Matz" Matsumoto
Fix result if pattern is empty
2017-03-22Fix result if pattern is emptyksss
2017-03-21Hash sub class creates new sub class objects instead of HashKouhei Sutou
2017-03-20Use `snprintf()` to stringify fixnum numbers; ref #3492Yukihiro "Matz" Matsumoto
2017-03-20Add explicit cast from float to mrb_int.Yukihiro "Matz" Matsumoto
2017-03-20Merge pull request #3527 from ksss/string-gsubYukihiro "Matz" Matsumoto
Update String#gsub and String#gsub!
2017-03-20Use `snprintf()` to stringify fixnum numbers; fix #3492Yukihiro "Matz" Matsumoto
2017-03-19Fixed some compiler errors regarding PRId.Yukihiro "Matz" Matsumoto
2017-03-19Callback should yield with pattern every timeksss
2017-03-19Support to return Enumerator for String#gsub,gsub!ksss
2017-03-19Should not check/call `to_str` for immediate objects; ref #3515Yukihiro "Matz" Matsumoto
2017-03-19`super class error` formats the superclass by `inspect`; rerf #3515Yukihiro "Matz" Matsumoto
2017-03-19Use MRB_PRId instead of "%d"; fix #3515Yukihiro "Matz" Matsumoto
2017-03-19Fixed OP_RESCUE code generation bug; fix #3519Yukihiro "Matz" Matsumoto
916b8e let code executed with mrb->exc set, and may cause a crash like #3519. Instead modified OP_RESCUE again. To retrieve the exception object, we use `OP_RESCUE R(A), 0, 0` (old behavior). To compare the exception object and the class, we use `OP_RESCUE R(A), R(B), 1`. The reason we use OP_RESCUE for two instruction switched by operand C is to save the instruction space. As a result, the following code: ```ruby begin raise "a" rescue TypeError p 1 rescue RuntimeError p 2 end ``` will be compiled as: ``` irep 0x55cd1f565cb0 nregs=4 nlocals=1 pools=1 syms=4 reps=0 file: - 2 000 OP_ONERR 005 2 001 OP_LOADSELF R1 2 002 OP_STRING R2 L(0) ; "a" 2 003 OP_SEND R1 :raise 1 2 004 OP_JMP 023 2 005 OP_RESCUE R1 3 006 OP_GETCONST R2 :TypeError 3 007 OP_RESCUE R1 R2 cont 3 008 OP_JMPIF R2 010 3 009 OP_JMP 014 4 010 OP_LOADSELF R1 4 011 OP_LOADI R2 1 4 012 OP_SEND R1 :p 1 4 013 OP_JMP 024 5 014 OP_GETCONST R2 :RuntimeError 5 015 OP_RESCUE R1 R2 cont 5 016 OP_JMPIF R2 018 5 017 OP_JMP 022 6 018 OP_LOADSELF R1 6 019 OP_LOADI R2 2 6 020 OP_SEND R1 :p 1 6 021 OP_JMP 024 6 022 OP_RAISE R1 6 023 OP_POPERR 1 6 024 OP_STOP ```
2017-03-19OP_RESCUE refactored; ref #3519Yukihiro "Matz" Matsumoto
2017-03-19Remove cname duplication from exc_inspect().Yukihiro "Matz" Matsumoto
2017-03-19Avoid possible infinite recursion in mrb_print_error(); ref #3517Yukihiro "Matz" Matsumoto
2017-03-19Check call depth when mrb_yield_class() is called; ref #3521Yukihiro "Matz" Matsumoto
2017-03-19Update stack only when callinfo is popped; fix #3521Yukihiro "Matz" Matsumoto
2017-03-19Need not to call mrb_obj_as_string() is sep is nil.Yukihiro "Matz" Matsumoto
2017-03-18Merge pull request #3526 from ksss/sprintfYukihiro "Matz" Matsumoto
sprintf: Should use mrb_int for any object
2017-03-18Should use mrb_int for any objectksss
o=Object.new def o.to_int 1 end p "%*d" % [o, 1]
2017-03-18Need to setup singleton_class chain; fix #3509Yukihiro "Matz" Matsumoto
2017-03-18Small cosmetic change ("* " -> "*").Yukihiro "Matz" Matsumoto
2017-03-18Save/restore GC arena index to avoid arena overflow error.Yukihiro "Matz" Matsumoto
2017-03-18Fixed access of uninitialized C local variable; fix #3525Yukihiro "Matz" Matsumoto
2017-03-18Avoid mrb_check_string_type() in raising exception; fix #3506Yukihiro "Matz" Matsumoto
The change may reduce flexibility, but I believe no one wants that level of flexibility here.
2017-03-17Merge pull request #3524 from ksss/timestampYukihiro "Matz" Matsumoto
MiniRake::Task#timestamp should use Time.now only
2017-03-17Avoid trampoline when #eval is called from mrb_funcall(); fix #3522Yukihiro "Matz" Matsumoto
2017-03-17MiniRake::Task#timestamp should use Time.now onlyksss
2017-03-16Merge pull request #3510 from ksss/string-each_lineYukihiro "Matz" Matsumoto
Some update for `String#each_line`
2017-03-16Singleton classes do not have outer class set; fix #3505Yukihiro "Matz" Matsumoto
2017-03-16Protect stack region before calling mrb_convert_type(); fix #3504Yukihiro "Matz" Matsumoto