| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 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 | |
| 2017-03-30 | Modify class variable definition in singleton class; fix #3539 | Kouichi Nakanishi | |
| 2017-03-18 | Small cosmetic change ("* " -> "*"). | Yukihiro "Matz" Matsumoto | |
| 2016-12-12 | freeze instance variables; ref #3340 | Yukihiro "Matz" Matsumoto | |
| 2016-11-24 | Add pointer casting from mrb_malloc(); ref #3267 | Yukihiro "Matz" Matsumoto | |
| 2016-11-08 | class variables in higher order have a priority; fix #3235 | Yukihiro "Matz" Matsumoto | |
| 2016-01-11 | Fix class variable reference in module | Kouhei Sutou | |
| Fix #3079 | |||
| 2015-11-27 | include changed from by quotes ("") to by brackets (<>); close #3032 | Yukihiro "Matz" Matsumoto | |
| 2015-11-07 | PR #2521 did not work for singleton classes for non-class objects; fix #3003 | Yukihiro "Matz" Matsumoto | |
| 2015-07-16 | use mrb_str_cat_str() instead of mrb_str_append() | cremno | |
| If the argument is always a string, then mrb_str_cat_str() can be directly called instead of indirectly by mrb_str_append(). mrb_any_to_s(), mrb_obj_as_string(), mrb_inspect() always return a string. | |||
