Thursday, March 02, 2006  IRB is GO!  I should post about things
not working more often.  Within a few hours after my previous
post, where I showed the world how IRB now starts up
successfully in JRuby but does not work, I was back at it trying
to fix the next few bugs preventing it from working. The first
issue was a NullPointerException deep in the interpreter, when
executing an "until" block. Our parser, for right or for wrong,
was producing an AST "UntilNode" with no body. While this could
be correct or incorrect behavior--since the "until" in question
actually did have an empty body--we still were not handling it
correctly. The interpreter assumed that all "until"s would have
bodies, and when a body turned up null...kaboom. A fix to check
for null and not attempt to evaluate the body was an easy, if
not entirely kosher, way to fix it. Done.  However, nothing
could prepare me for what followed.  C:\JRubyWork\jruby3>jruby
C:\ruby\bin\irb >):001:0> x = 1 => 1  I expected that the
"until" bug would go away..