| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2019-04-14 | Fix wrong size of instance variable if occur out of memory | dearblue | |
| 2019-04-14 | Remove pointer check after `mrb_malloc()` | dearblue | |
| 2019-04-10 | Merge pull request #4367 from shuujii/extract-frozen-checking-to-function | Yukihiro "Matz" Matsumoto | |
| Extract frozen checking to function | |||
| 2019-04-10 | Use the old style declaration; ref #4365 | Yukihiro "Matz" Matsumoto | |
| 2019-04-09 | Extract frozen checking to function | KOBAYASHI Shuji | |
| 2019-04-01 | Fix modifiable class name | KOBAYASHI Shuji | |
| Fix the following example: Object.const_set :A, Module.new{const_set :B, Class.new} ab = A::B.to_s p ab #=> "A::B" # Good ab[0] = "x" p A::B.to_s #=> "x::B" # Bad | |||
| 2019-03-26 | Fix missing `MRB_API` prefix for functions below; clse #4267 | Yukihiro "Matz" Matsumoto | |
| Functions to add prototypes to headers: * mrb_ary_splice() * mrb_notimplement() * mrb_vformat() * mrb_cstr_to_dbl() * mrb_cstr_to_inum() Functions to be made `static` (`MRB_API` was not needed): * mrb_mod_module_function() * mrb_obj_hash() * mrb_str_len_to_inum() Functions to remove `MRB_API` from definitions (referenced from within `libmruby`): * mrb_mod_cv_defined() * mrb_mod_cv_get() * mrb_f_send() | |||
| 2019-03-17 | Fix class/instance variable name validation | KOBAYASHI Shuji | |
| - `@@?` etc are invalid class variable name. - `@1` etc are invalid instance variable name. | |||
| 2019-03-14 | Fix constant name validation | KOBAYASHI Shuji | |
| `X!` etc are invalid constant name. | |||
| 2018-12-11 | Add `mrb_` prefix to `iv_foreach_func`. | Yukihiro "Matz" Matsumoto | |
| 2018-12-11 | Add new API `mrb_iv_foreach()` to iterate over instance variables. | Yukihiro "Matz" Matsumoto | |
| 2018-12-11 | Update `iv_foreach()` function. | Yukihiro "Matz" Matsumoto | |
| * return `void` instead of `mrb_bool'. * non zero return value from `func` breaks the loop. * no longer remove items on negative return value from `func`. | |||
| 2018-09-20 | Renamed `is_namespace()` to `namespace_p()`. | Yukihiro "Matz" Matsumoto | |
| 2018-09-20 | Revert "Add MRB_IMPROVE_META_PROGRAMMING configuration" | Yukihiro "Matz" Matsumoto | |
| This reverts commit 1997fcf98f596f6af2bf1d20ccde1b1abfe7324d. It became the default behavior. | |||
| 2018-09-20 | Merge branch 'assign-anon-class-name' of https://github.com/dearblue/mruby ↵ | Yukihiro "Matz" Matsumoto | |
| into dearblue-assign-anon-class-name | |||
| 2018-09-07 | Fix to not define outer when outer is itself. | dearblue | |
| example: a = Class.new a::A = a | |||
| 2018-09-07 | Clear terminated space | dearblue | |
| 2018-09-07 | Add MRB_IMPROVE_META_PROGRAMMING configuration | dearblue | |
| 2018-09-07 | A class/module name is now defined for meta programing | dearblue | |
| 2018-09-07 | Not set a class/module name into anonymous class/module | dearblue | |
| 2018-09-04 | Revert "Remove top-level constant lookup; CRuby2.5"; fix #4070 | Yukihiro "Matz" Matsumoto | |
| This reverts commit c96def7c96c50f3b8e22e47ce31a6c5a37939dfd. This change was from my misunderstanding. | |||
| 2018-08-06 | Rename ambiguous function names. | Yukihiro "Matz" Matsumoto | |
| `mrb_iv_p` -> `mrb_iv_name_sym_p` `mrb_iv_check` -> `mrb_iv_name_sym_check` | |||
| 2018-08-06 | Remove utility functions: `mrb_vm_iv_{get,set}`. | Yukihiro "Matz" Matsumoto | |
| 2018-08-06 | Revert 04dbbff. | Yukihiro "Matz" Matsumoto | |
| Use segment list for instance variable again to reduce memory. | |||
| 2018-01-17 | Detect cyclic link of class path references; fix #3926 | Yukihiro "Matz" Matsumoto | |
| 2017-12-12 | Modifying frozen objects will raise `FrozenError`. | Yukihiro "Matz" Matsumoto | |
| `FrozenError` is a subclass of `RuntimeError` which used to be raised. [Ruby2.5] | |||
| 2017-11-30 | Stop infinite recursion in `Class#to_s`; fix #3861 | Yukihiro "Matz" Matsumoto | |
| 2017-11-17 | Removed useless condition | Ukrainskiy Sergey | |
| 2017-11-17 | Changed the assignment of a variable in variable.c | Ukrainskiy Sergey | |
| 2017-11-17 | Changed numbers to TRUE and FALSE for mrb_bool in variable.c | Ukrainskiy Sergey | |
| 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-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-17 | Remove top-level constant lookup; CRuby2.5 | Yukihiro "Matz" Matsumoto | |
| 2017-09-04 | Restructure `irep->outer` chain; fix #3804 | Yukihiro "Matz" Matsumoto | |
| Instead of `irep -> proc` chain, we use `irep -> irep` chain to avoid GC bugs like #3804. We added `target_class` reference to `mrb_irep` struct. That means one more word consumption per `irep`. | |||
| 2017-08-26 | Remove unused `mrb_obj_iv_ifnone()` from API. | Yukihiro "Matz" Matsumoto | |
| 2017-08-26 | Add checks if `iv_tbl` is NULL. | Yukihiro "Matz" Matsumoto | |
| 2017-08-26 | Use `khash` for instance variables tables instead of segment list. | Yukihiro "Matz" Matsumoto | |
| For performance reason. Segmented list consumes slightly less memory but takes a lot of time especially when there are many slots in the segment lists (e.g. class constants). | |||
| 2017-08-19 | Type check before traversing `irep->outer`; fix #3782 | Yukihiro "Matz" Matsumoto | |
| 2017-08-18 | `capacify' for `mrb_str_new_capa` should not be `0`. | Yukihiro "Matz" Matsumoto | |
| 2017-08-18 | Separate `mrb_str_buf_new` and `mrb_str_new_capa`. | Yukihiro "Matz" Matsumoto | |
| `mrb_str_buf_new` is an old function that ensures capacity size of `MRB_STR_BUF_MIN_SIZE` minimum. Usually one need to use `mrb_str_new_capa` instead. | |||
| 2017-08-01 | Better class name management. | Yukihiro "Matz" Matsumoto | |
| The change removes several internal instance variables used by class name management. The variables `__classid__` and `__classpath__` are no longer available. `__outer__` is used only for unnamed outer classes/modules (and will be removed after they are named). [Important note] Along with this change we removed several public functions. - mrb_class_outer_module() - mrb_class_sym() We believe no one have used those functions, but if you do, please ask us for the workaround. | |||
| 2017-08-01 | Move naming unnamed classes/modules | Yukihiro "Matz" Matsumoto | |
| From `mrb_mod_const_set` to `mrb_const_set`. | |||
| 2017-08-01 | Reimplement constant look-up rule to follow lexical scoping. | Yukihiro "Matz" Matsumoto | |
| This update fix CRuby scoping incompatibility; close #600; close #3200 | |||
| 2017-07-27 | Rename `MRB_SEGMENT_SIZE` to `MRB_IV_SEGMENT_SIZE`. | Yukihiro "Matz" Matsumoto | |
| 2017-07-27 | Always use `MRB_USE_IV_SEGLIST`. | Yukihiro "Matz" Matsumoto | |
| 2017-04-12 | Use while statement instead of for statement | Kouichi Nakanishi | |
| 2017-04-12 | Find Class/Module in nested singleton class; fix #3598 | Kouichi Nakanishi | |
| 2017-04-10 | An object attached to a singleton class may not be a class; fix #3587 | Yukihiro "Matz" Matsumoto | |
| The fix for #3539 was incomplete. | |||
| 2017-03-31 | Modify to get constant of parent module in singleton class; fix #3568 | Kouichi Nakanishi | |
| 2017-03-30 | small cosmetic change; ref #3570 | Yukihiro "Matz" Matsumoto | |
