This should hopefully prevent future cases of the Mondays.
In my defense, it is Monday morning and I've not had my mandatory 10 liters of tea. This fixes #3076.
When checking Ruby syntax the instance of CodeTools::Melbourne should be kept around instead of using class methods. This makes it possible, in theory, to retrieve the syntax errors similar to when parsing files. Currently Melbourne seems to lose track of the syntax errors. That is, CodeTools::Melbourne#syntax_errors returns an empty Array. Interesting enough when running similar code in a Pry session the syntax errors are *not* lost. See #3076 for more information.
Conflicts: Changelog configure
MRI changed the signature of INT2NUM to use `int` instead of `long` starting with MRI 1.9. This fixes #3072.
Nanosecond precision with Time#-
…ng with obj.inspect
…to call #inspect on it
…Error not any Exception
To be consistent with MRI, let's return a Float with nanoseconds precision when we are subtracting two Time objects. We simply need to rely on the instance's nsec method instead of the usec one. Thus, we multiply the subtraction of each object's nano-seconds with 1e-9 instead of 1e-6.