summaryrefslogtreecommitdiffhomepage
path: root/mrbgems
AgeCommit message (Collapse)Author
2018-12-11Fixed missing comma in mruby/mirb usage.Hiroshi Mimaki
2018-11-27Merge branch 'master' into stableHiroshi Mimaki
2018-11-25Allow destructuring in formal arguments.Yukihiro "Matz" Matsumoto
e.g. ``` def m(a,(b,c),d); p [a,b,c,d]; end m(1,[2,3],4) # => [1,2,3,4] ``` mruby limitation: Destructured arguments (`b` and `c` in above example) cannot be accessed from the default expression of optional arguments and keyword arguments, since actual assignment is done after the evaluation of those default expressions. Thus: ``` def f(a,(b,c),d=b) p [a,b,c,d] end f(1,[2,3]) ``` raises `NoMethodError` for `b` in mruby.
2018-11-25Remove redundant rules from `parse.y`.Yukihiro "Matz" Matsumoto
2018-11-25Fix wrong number of arguments in `Array#fetch`; fix #4170Yukihiro "Matz" Matsumoto
2018-11-25Protect from exceptions raised outside of `mrb_vm_run()`.Yukihiro "Matz" Matsumoto
It can happen if signals are used (e.g. from `mruby-alarm` gem).
2018-11-22Fix mruby-socket test failure on MinGW.Hiroshi Mimaki
2018-11-20Fixed a bug in `mirb` heredoc handling; fix #3989Yukihiro "Matz" Matsumoto
2018-11-20Stop special treating of `\r` in the lexer; fix #4132Yukihiro "Matz" Matsumoto
2018-11-19Need to keep rooms for empty splat; fix #4166Yukihiro "Matz" Matsumoto
2018-11-19Use type checking `mrb_to_str` instead of converting `mrb_str_to_str`.Yukihiro "Matz" Matsumoto
2018-11-19Removed `to_hash` conversion method.Yukihiro "Matz" Matsumoto
2018-11-19Removed `to_ary` conversion method.Yukihiro "Matz" Matsumoto
2018-11-19Removed `try_convert` method from Array and Hash.Yukihiro "Matz" Matsumoto
2018-11-19Removed `String#try_convert` method from `mruby-string-ext` gem.Yukihiro "Matz" Matsumoto
Because `try_convert` method rarely used in production. For mruby users, we have `__to_str` utility method to check string type.
2018-11-19Remove implicit conversion using `to_str` method; fix #3854Yukihiro "Matz" Matsumoto
We have added internal convenience method `__to_str` which does string type check. The issue #3854 was fixed but fundamental flaw of lack of stack depth check along with fibers still remains. Use `MRB_GC_FIXED_ARENA` for workaround.
2018-11-19Remove implicit conversion using `to_int` method.Yukihiro "Matz" Matsumoto
The ISO standard does not include implicit type conversion using `to_int`. This implicit conversion often causes vulnerability. There will be no more attacks like #4120. In addition, we have added internal convenience method `__to_int` which does type check and conversion (from floats).
2018-11-19fix non-ASCII comment.Yukihiro "Matz" Matsumoto
2018-11-19Check method existence for Enumerators; fix #3920Yukihiro "Matz" Matsumoto
The issue #3920 was fixed but the fundamental flaw of lack of stack depth check along with fibers still remains, even though it's not easy to cause the issue. Use `MRB_GC_FIXED_ARENA` to avoid the issue for workaround. After this patch, `obj.to_enum` raises `ArgumentError` if the object does not respond to the enumerating method. This is incompatible to CRuby but I think this behavior is better and CRuby should be updated to behave like this.
2018-11-15Fixed a bug in continuous read of target files; ref #4138Yukihiro "Matz" Matsumoto
Line number information in a compiled file was wrong.
2018-11-15Shrink file name table size to `uint16_t`; ref #4138Yukihiro "Matz" Matsumoto
2018-11-15Remove `filename`&`lines` from `mrb_irep` struct.Yukihiro "Matz" Matsumoto
This patch slightly reduce memory consumption (2% for my test).
2018-11-15`String#{squeeze,delete,count}` to use bitmap for matching; ref #4163Yukihiro "Matz" Matsumoto
2018-11-15Pattern length may overflow `uint16_t`; fixed #4163Yukihiro "Matz" Matsumoto
The issue is reported by `https://hackerone.com/dgaletic`.
2018-11-02Remove reserved symbols for now.Yukihiro "Matz" Matsumoto
It should be done by planned embedded symbols.
2018-11-02Merge pull request #4151 from take-cheeze/remove_op_symidxYukihiro "Matz" Matsumoto
Reduce instruction size
2018-11-02Add tests for empty patterns for `tr` and `count`; #4156 #4157Yukihiro "Matz" Matsumoto
2018-11-02Empty pattern string for `String#tr` should remove characters; fix #4157Yukihiro "Matz" Matsumoto
2018-11-02Empty pattern string can generate `TR_UNINITIALIZED` pattern; fix #4156Yukihiro "Matz" Matsumoto
2018-11-01Silence Appveyor's VC compilation warnings.Yukihiro "Matz" Matsumoto
2018-10-30VS 2017 C does not understand inline struct initialization; ref #4153Yukihiro "Matz" Matsumoto
2018-10-29Reduce unnecessary symbol table entrytake-cheeze
2018-10-29Reduce instruction sizetake-cheeze
2018-10-29Merge pull request #4149 from take-cheeze/static_tr_patternYukihiro "Matz" Matsumoto
Keep `tr_pattern` static if possible
2018-10-29Merge pull request #4148 from take-cheeze/rename_libmruby_stuffYukihiro "Matz" Matsumoto
Rename `MRuby::Build#libmruby` stuff to avoid confusion
2018-10-29Merge pull request #4147 from take-cheeze/add_missing_depYukihiro "Matz" Matsumoto
Add missing dependency of source code generator
2018-10-29Rename libmruby stuff to avoid confusiontake-cheeze
2018-10-29Add missing dependency of source code generatortake-cheeze
2018-10-29Suppress sleep test script warningtake-cheeze
2018-10-29Keep tr_pattern statictake-cheeze
2018-10-23Fixed a bug in processing `OP_EXT?` instructions.Yukihiro "Matz" Matsumoto
fix haconiwa/haconiwa#171
2018-10-18replace quicksort with mergesort.Tomoyuki Sahara
2018-10-13Fixed a bug caused by too much optimization; fix #4137Yukihiro "Matz" Matsumoto
2018-10-12Fixed broken stack consistency; fix #4135Yukihiro "Matz" Matsumoto
2018-10-12Call `uniq!` for each union processing in `Array#union`.Yukihiro "Matz" Matsumoto
2018-10-02Fixed SEGV from `eval` called form top-level `mrb_funcall()`; fix #4028Yukihiro "Matz" Matsumoto
2018-09-27Fixed a `String#squeeze` bug in handling `iso-8859-1` strings; ref #4127Yukihiro "Matz" Matsumoto
2018-09-26Add index to larger segment lists for performanceYukihiro "Matz" Matsumoto
2018-09-26Use `mrb_undef_value` for delete mark instead of shifting Hash entry table.Yukihiro "Matz" Matsumoto
That means entry table should be compacted periodically by `sg_compact()`.
2018-09-26Revert "Fix comparisons in str_squeeze."Yukihiro "Matz" Matsumoto
This reverts commit 7b04fcd092006b6e78cd63619fb7ae972f8e0c5d. The issue was addressed by 9e3cbaa. No longer needed.