This articles was published on 2012-12-01
[November 2012] mruby news
First of all I want you to point to a patch I’m working on for the last 2 month. It is about an easy and standardized way to integrate extensions into mruby with the working title mrbgems. Some people have tried it out and it worked well for them. So I’m looking forward if you also could have a look at it and give me some feedback to make it better. So that maybe beginning of next year I can report about a successful merge of this feature :)
What happened else on the mruby front in November 2012?
skandhas has done an incredible awesome job in improving Module. Including the following parts:
3fbeb298a6943c59567b0b3a8b8d50104858d8c1, 861bcad53a4f4c47942ba5ab0155c1594829ebd1, 940eb786e4bfcd747480b2d3bffe541b537fb3fd
1f3c5125648e10ac5d9dc90be66025b4741fa24d, 5e8dc8cd44f501943acbd58229eb6b97894aecaf, 6fb74ac167f6b7e55d126159764ed7dca0c400d5
25a02a5b8b7954fa197d42d208ee257a4a8d9c96, cd8e9c14636fbef835328e50834d0baa41a0e0cf, 59035eb33d5e1b276a1269a38f2cce421a528470
40aa8e99e11404e00030b511fa8e9e037ddf6939, 38ce9516aa4611110b3084699db6c18cf7e99ad9, 9dbbd02ac5e57a2b135642784f75665f8afe229b, 1cc44cfd78e00879e983ffa320e16a2d99558067
Several parts of String were improved. Mainly bufixes.
b9cf5045b7e10ad722475a432db4fe1b38987cbd, 8d9f5628eda4f1353c2578900b6396a7e06f281b, 57910ca5353e1feba1fb069a876b84a52f33d39f, fe36bdb7f12050254f02a5f2c3a75623dfd289c0
adjust string length after String#chomp!
delete needless output in String#=
fix the issue String#slice with Range may return broken String
Cleanup MRI left-overs
Considering that mruby is still quite alpha and still quite young it already has some kind of legacy. Mainly due to the reason that some parts of the current implementation were taken over from the CRuby implementation (aka MRI). Mostly they are EASYRECOGNISABLE. Matz took some time this month and clean up quite a lot of these parts and replaced them with a more mrb_fitting style.
replace RBASIC by mrb_basic
remove NUM2CHR macro
remove FL_XXX macros
replace SYM2ID() by mrb_symbol()
remove reference to ruby_verbose and ruby_debug
replace RTEST() by mrb_test_p()
replace SYMBOL_P() by mrb_symbol_p()
replace FIXNUM_P() by mrb_fixnum_p()
add new predicates mrb_string_p(),mrb_array_p(),mrb_hash_p()
mruby is currently using an own testing framework called mrbtest. These are some additions and changes to the current test framework.
add test for ‘Abbreviated variable assignment as returns’
New Bootstrap Block Asserts
6c8d2ca3995bbefa00ca04e5275b103f7e59dcd6, 385f129acaa1c84f2d61026b5b240e5f3f70058a, a316e92da3d9e54c09806f2e231a4c0eed5a8c7d
add test for issue#547; close #554
typo fix on test/report.rb
fix mrubytest dependencies
add mruby/mrbc tests
add test for 8cf42709
Due to the reason that one target of mruby is a platform independent usage, all the time we need to fix the compatibility for different platforms and compilers. This is what was done here.
Fix build on c++ compiler
compatible with MSVC
Fix compile warnings in mirb Change last_char type to int Warnings mirb.c:174:7: warning: comparison is always false due to limited range of data type [-Wtype-limits] warning: comparison is always false due to limited range of data type [-Wtype-limits]