[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