| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2017-11-04 | Make `mirb` to print warnings; ref #3827 | Yukihiro "Matz" Matsumoto | |
| 2017-11-04 | Avoid compiling `fmt_fp.c` if `MRB_WITHOUT_FLOAT` is set; #3827 | Yukihiro "Matz" Matsumoto | |
| 2017-11-04 | Merge branch 'mrb_without_float' of https://github.com/pandax381/mruby into ↵ | Yukihiro "Matz" Matsumoto | |
| pandax381-mrb_without_float | |||
| 2017-11-04 | Reimplement `block_given?`; ref #3841 | Yukihiro "Matz" Matsumoto | |
| Make `block_given?` to search for the top of the scope first. The top of the scope means either: * the top method body * the enclosing class body * the top-level The special case is the method defined by `define_method` with a block as in #3841. In cases like this, the method body (given by a block) is not considered as the top of the scope. You need to use `&block` in the block parameter if you want to know if a block is given to the method. This commit also changes the behavior of `MRB_PROC_SCOPE` flag. Now it is only set if the `proc` is either a class body or a method body defined in Ruby. It is no longer set for a block that given to `define_method`. | |||
| 2017-11-04 | The `bidx` saved in `env` may be useless; fix #3841 | Yukihiro "Matz" Matsumoto | |
| When `block_given?` is called from a block given to `define_method` as a method body, the `bidx` may not be within `env` saved closure. In this case, it causes heap buffer overflow. | |||
| 2017-11-04 | Merge branch 'master' of github.com:mruby/mruby | YAMAMOTO Masaya | |
| 2017-11-04 | Avoid pointer arithmetic in backtrace.c; #3816 | Yukihiro "Matz" Matsumoto | |
| 2017-11-03 | Always check division-by-zero to avoid undefined behavior; fix #3816 | Yukihiro "Matz" Matsumoto | |
| Also removed the code to normalize NaN value for `MRB_NAN_BOXING`. Tha code was added to fix #1712 but no longer required after 249f05e7d. | |||
| 2017-11-03 | Reduce memory leaks from `mirb`. | Yukihiro "Matz" Matsumoto | |
| 2017-11-03 | Should not use `FSHARED` state for string from `irep` pools; fix #3829 | Yukihiro "Matz" Matsumoto | |
| This strings in `irep` pools may be freed forcefully in `mrb_irep_free`. This commit probably fixes #3817 as well. | |||
| 2017-11-02 | Merge pull request #3840 from iij/keep-backtrace-rethrown-exc | Yukihiro "Matz" Matsumoto | |
| don't strip away backtrace info when an exception is re-thrown | |||
| 2017-11-02 | don't overwrite backtrace info. | Tomoyuki Sahara | |
| 2017-10-31 | Fixed constant (and class variable) reference bug; fix #3839 | Yukihiro "Matz" Matsumoto | |
| Unlike method definition, constant reference should start from `MRB_PROC_TARGET_CLASS(ci->proc)`, not `ci->target_class`. In addition, `MRB_PROC_TARGET_CLASS(ci->proc)` is always set. | |||
| 2017-10-31 | Call stack may not reference the destination `proc`; fix #3838 | Yukihiro "Matz" Matsumoto | |
| The destination `proc` may be an orphan. | |||
| 2017-10-31 | Need to mark fibers referenced from `env`; fix #3837 | Yukihiro "Matz" Matsumoto | |
| The issue #3837 is a regression of #3819. I was mistakenly removed a important code to mark fibers from `env`. | |||
| 2017-10-29 | Need to check number of argument of `Struct#new`; fix #3823 | Yukihiro "Matz" Matsumoto | |
| 2017-10-28 | Removed a debug printf; fix #3834 | Yukihiro "Matz" Matsumoto | |
| 2017-10-28 | Remove one of the lines that did the same thing; fix #3836 | Yukihiro "Matz" Matsumoto | |
| The change is suggested by `ukrainskiysergey` in #3836. I deleted the other line for clarity. I also updated comment lines. | |||
| 2017-10-28 | Should clear ensure stack at `OP_RETURN break`; #3715 | Yukihiro "Matz" Matsumoto | |
| This is a resurrection of d0a7e01, which is accidentally removed by 93f5f22; Fix #3715 | |||
| 2017-10-28 | Should check if `callinfo` stack is popped before updating the stack. | Yukihiro "Matz" Matsumoto | |
| This is a resurrection of 75c374c, which is accidentally removed by 93f5f22; Fix #3507 #3512 #3518 #3521 | |||
| 2017-10-28 | Fixed UPVAR gotchas; fix #3835 | Yukihiro "Matz" Matsumoto | |
| Both `uvenv` function and `env` generation in `create_proc_from_string` function have bugs to handling enclosed environment objects. | |||
| 2017-10-28 | Remove a debug variable | Yukihiro "Matz" Matsumoto | |
| 2017-10-28 | Add parentheses to pacify a warning. | Yukihiro "Matz" Matsumoto | |
| 2017-10-28 | Heavily refactored how lexical scope links are implemented; fix #3821 | Yukihiro "Matz" Matsumoto | |
| Instead of `irep` links, we added a `upper` link to `struct RProc`. To make a space for the `upper` link, we moved `target_class` reference. If a `Proc` does not have `env`, `target_class` is saved in an `union` shared with `env` (if a `Proc` has env, you can tell it by `MRB_PROC_ENV_P()). Otherwise `target_class` is referenced from `env->c`. We removed links in `env` as well. This change removes 2 members from `mrb_irep` struct, thus saving 2 words per method/proc/block. This also fixes potential memory leaks due to the circular references caused by a link from `mrb_irep`. | |||
| 2017-10-28 | comment out `bench` build from standard `build_config.rb` | Yukihiro "Matz" Matsumoto | |
| 2017-10-28 | remove `inline` from replacement `memcpy`&`memset` | Yukihiro "Matz" Matsumoto | |
| 2017-10-28 | Update test for `Kernel#local_variables` | Yukihiro "Matz" Matsumoto | |
| 2017-10-28 | Remove MRB_API from `mrb_env_unshare()` | Yukihiro "Matz" Matsumoto | |
| 2017-10-28 | Add some peephole optimizations | Yukihiro "Matz" Matsumoto | |
| 2017-10-28 | Change the order of "expected" and "actual" in test | Yukihiro "Matz" Matsumoto | |
| 2017-10-28 | Use alias to implement `attr` method | Yukihiro "Matz" Matsumoto | |
| 2017-10-28 | Flush stdout after every print from tests | Yukihiro "Matz" Matsumoto | |
| 2017-10-28 | Format codedump for OP_{LE,LT,GE,GT}. | Yukihiro "Matz" Matsumoto | |
| 2017-10-25 | Merge pull request #3833 from bggd/appveyor_winbison_ruby24 | Yukihiro "Matz" Matsumoto | |
| Appveyor Improvements | |||
| 2017-10-24 | Turn on method cache for AppVeyor CI | bggd | |
| 2017-10-24 | Use Ruby 2.4 instead of AppVeyor's Default(Ruby 1.9) | bggd | |
| 2017-10-24 | Use win_bison instead of Cygwin's bison. Use YACC environment variable ↵ | bggd | |
| instead of global PATH | |||
| 2017-10-20 | Add `Array#{permutation,combination}. | Yukihiro "Matz" Matsumoto | |
| 2017-10-19 | Add `main.define_method` | Yukihiro "Matz" Matsumoto | |
| 2017-10-18 | Add `Kernel#itself`; CRuby2.2 | Yukihiro "Matz" Matsumoto | |
| 2017-10-18 | Add `Hash#to_proc`; CRuby2.3 | Yukihiro "Matz" Matsumoto | |
| 2017-10-18 | Add `Numeric#{positive?,negative?}`; CRuby2.3 | Yukihiro "Matz" Matsumoto | |
| 2017-10-18 | Add `Hash#fetch_values`; CRuby2.3 | Yukihiro "Matz" Matsumoto | |
| 2017-10-17 | Merge branch 'dabroz-fix-get-argc' | Yukihiro "Matz" Matsumoto | |
| 2017-10-17 | Use a new function: `mrb_get_argc()`; ref #3826 | Yukihiro "Matz" Matsumoto | |
| 2017-10-17 | Remove `mrb_vm_get_argc`; ref #3826 | Yukihiro "Matz" Matsumoto | |
| 2017-10-17 | Merge branch 'fix-get-argc' of https://github.com/dabroz/mruby into ↵ | Yukihiro "Matz" Matsumoto | |
| dabroz-fix-get-argc | |||
| 2017-10-17 | Add `{String,Symbol}#casecmp?`; CRuby2.4 | Yukihiro "Matz" Matsumoto | |
| 2017-10-17 | Add `Comparable#uniq`; CRuby2.4 | Yukihiro "Matz" Matsumoto | |
| 2017-10-17 | Add `Comparable#clamp`; CRuby2.4 | Yukihiro "Matz" Matsumoto | |
