mruby/mruby — pull request #2445 by AE9RB (2014-07-03 19:06:18+00:00)
Title: Clean up value.h and mrb_value boxing

The mrb_value boxing types make value.h very complicated. There are many nested ifdefs and the struct implementation has made its way into other parts of the code causing more ifdefs there.

I split value.h into an interface and implementation. Knowledge of mrb_value structure is no longer needed outside of implementation header file. There are no longer any large ifdef blocks for boxing and less ifdefs overall. I think this will make things easier for gem and core developers alike.

If this is accepted it is possible to further remove ifdefs from the core.