[MacRuby-devel] experimental branch: status update

Laurent Sansonetti lsansonetti at apple.com
Tue Aug 4 13:59:30 PDT 2009


Headlines:

- macirb should work as before. The local variable bug has been fixed.

- macrake should work as before. Running HotCocoa projects should  
work, you can even build MacRuby with macrake.

- new YAML module, API compatible with syck, was added. It is still  
under development, but it's currently good enough for most uses,  
including HotCocoa rakefile tasks.

This is the last experimental branch status update, we accomplished I  
think all the goals required to merge the branch into trunk. There  
will be more status updates after, but they will focus on trunk and  
the 0.5 release objectives :)

I will proceed with the merge tomorrow at 3PM California time  
(midnight Amsterdam time, 7AM Tokyo time). Feel free to commit before,  
but please hold off your commits at that time :)

Changes:

- fixed an incompatibility that showed up in switching between libedit  
and GNU readline

- added support to delete environment variables using ENV[]=nil

- fixed the clean task to remove binary build producfs too.

- fixed GC problems in oniguruma: make sure st.c tables are retained/ 
released appropriately since they use GC memory

- fixed a problem in IO#gets where the stream wasn't marked as EOF  
after reading the last separator-terminated line

- implemented Thread.start/fork

- added support for creation of Binding local variables

- fixed a bug in the way we compile return-from-block handlers

- fixed a bug in IO#reopen

- #fork is now raising a "not yet supported" exception, because it  
doesn't work well with CF and libauto. We will try to support it, but  
later.

- fixed String#inspect to escape some characters

- ported Rational and Complex to the new runtime APIs

- various unicode/bytestring fixes

- fixed AOT compilation of keep locals.

- fixed bytestring -> path conversion

- keep IO streams that should never be closed into a static array to  
avoid them being collected

- fixed a bug in the fast aref primitive: convert fixnum argument to  
long and not int

- fix a bug in the dispatcher where calling a method with an empty  
splat array wasn't dispatching a zero arity method

- optimize numeric coerce dispatch calls

- overwrite -[NSObject description] in every new subclass that calls  
#to_s + optimized other overloaded methods

- changed the way %s is implemented to behave like the ruby spec and  
send #to_s

- updated the stringscanner specs to be 1.9.2 compatible

- updated the stringio specs to be 1.9.2 compatible

- RubySpec was updated from upstream

- implemented conditional assignment of class variables

- work around a crash while raising an objc exception from a ruby one

- ported the compiler to 32-bit (including the floating point  
optimization)

- removed the negative-index feature of Readline::HISTORY (of libedit)  
to behave like readline

- optimized Math.sqrt

- fixed super within a method that has a splat argument

- added Integer#ord

- a YAML module has been written, based on the libyaml C library. It  
is still under development but load and dump should work. See the  
previous e-mail on the mailing-list for more information.

- a pure Ruby stringio module is under development

Laurent


More information about the MacRuby-devel mailing list