Skip to content

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
Commits on Mar 13, 2012
@zaeleus zaeleus Add String#to_f test for strings represented as hex ae301f9
@zaeleus zaeleus Add more Kernel#Float tests that fail in strict mode 29a55fe
@zaeleus zaeleus Add strict mode for String#to_f and Kernel#Float
* created String#to_dbl, which is modeled from String#to_inum
* moved primitive parsing from String::to_double to Float::from_cstr
* fixed "fails:String#to_f returns 0 for strings with leading underscores" in 1.9 mode
Commits on Mar 16, 2012
@zaeleus zaeleus Use stricter equality comparision when expecting whole numbers c3f1144
@zaeleus zaeleus Fix Kernel#Float examples to test both x and X for hex 8601f64
Commits on Mar 27, 2012
@zaeleus zaeleus Move String#to_dbl to Rubinius::Type::coerce_to_float
This change broke the behavior of many Math methods that do not accept
string arguments. To fix this, Rubinius::Type::coerce_to_float_for_numeric
was added and is analogous to MRI's rb_to_float.
@zaeleus zaeleus Add expectations for -Inf and Inf to return 0.0 5acfc3f
@zaeleus zaeleus Return 0.0 for the abbreviation of Infinity ccde8d3
Commits on Apr 01, 2012
@zaeleus zaeleus Account for null byte when allocating a new buffer 4a23b15
Commits on Apr 12, 2012
@zaeleus zaeleus Add LocalBuffer struct to handle buffer deallocation
This follows the Resource Acquisition Is Initialization (RAII) idiom,
which frees the buffer upon destruction of the object.

Thanks to @evanphx for the idea.
@zaeleus zaeleus Use LocalBuffer to free the buffer at any exit point of Float::from_cstr 23ab7e9
Commits on Apr 14, 2012
@jeremyz jeremyz teach builtin proc how to handle nativefunction as bound_method b3f5a63
@jeremyz jeremyz NativeFunction: handle FFI callback as return type 2187314
Anthony Hrvojic Fixed String#match to support 1.9 position parameter. 1e93faf
Commits on Apr 15, 2012
@dbussink dbussink Merge pull request #1666 from anthto/master
Fix String#match in 1.9 mode
Commits on Apr 16, 2012
@ryoqun ryoqun Don't fixate backtrace receiver column width to 36
Rather, make the column width proportional to the terminal width.

The column width is calculated as 45% of the termianal width. The percentage is
chosen not to change the default behavior (45% of 80 is 36).
@ryoqun ryoqun Correctly initialize TERMINAL_WIDTH
Currently, Rubinius::TERMINAL_WIDTH is always set to 80, not to the actual
number of columns for the current terminal.

This commit fixes this bug, which is introduced by this commit:
  87c1849 Guard querying tput more closely

Rubinius::TERMINAL_WIDTH is set by reading the output of the "tput" command.
However, tput always prints "80", because it can't access to the current
terminal by any means. It's because tput's stdout nor stderr is connected to
the current terminal's file descriptor. Both are redirected by rubinius.

This commit allows tput to access to the current terminal again via stderr and
can be confirmed by the following strace invocations:

$ strace -f -e trace=ioctl ./bin/rbx -e ''

Before this commit:
[pid 11709] ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff39d857c8) = -1 EINVAL (Invalid argument)
[pid 11709] ioctl(2, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff39d857c8) = -1 EINVAL (Invalid argument)
[pid 11709] ioctl(2, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff39d85778) = -1 EINVAL (Invalid argument)

After this commit:
[pid 11293] ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7ffff444c138) = -1 EINVAL (Invalid argument)
[pid 11293] ioctl(2, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
[pid 11293] ioctl(2, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
[pid 11293] ioctl(2, TIOCGWINSZ, {ws_row=43, ws_col=227, ws_xpixel=0, ws_ypixel=0}) = 0
@jfirebaugh jfirebaugh Factor out the command-generation part of ruby_exe 9c33057
@jfirebaugh jfirebaugh Process.spawn specs 35aa0fa
@jfirebaugh jfirebaugh Fix Process.spawn spec failures f8a4b09
@jfirebaugh jfirebaugh This check is already performed by c_str_null_safe 098c2f9
@jfirebaugh jfirebaugh mkspec for open3 29d46fc
@jfirebaugh jfirebaugh Basic Open3.popen3 specs 973dffa
@jfirebaugh jfirebaugh Add more splat + Hash specs 5a7a3d1
@jfirebaugh jfirebaugh Tag failing specs 475cf60
@dbussink dbussink Merge pull request #1661 from jeremyz/wip
Nativefunction support callback as return parameter
@zaeleus zaeleus Remove Rubinius::Type.coerce_to_float_for_numeric 6d1467d
@jfirebaugh jfirebaugh Spec WeakRef delegation 8c2703d
@jfirebaugh jfirebaugh Fix WeakRef delegation
On 1.8, implement #method_missing and #respond_to?. On 1.9,
#method_missing and #respond_to_missing?.

Also, in order to delegate the maximal set of methods to the
weakly-referenced object, remove #object, :object=, and
#inspect and inherit from BasicObject on 1.9.

Fixes #855.
Commits on Apr 17, 2012
@jfirebaugh jfirebaugh Remove empty tags files 6a8af82
@jfirebaugh jfirebaugh Spec Proc#inspect
Due to MRI internals, it acts as as alias for #to_s, though
it is not defined that way directly. (It may be a true alias
in 2.0; see
@jfirebaugh jfirebaugh Fix 1.9 Proc#inspect 8b61a7a
@ryoqun ryoqun Show source location by UnboundMethod#inspect like Method
FYI, Method#inspect is changed by this commit:
  4b47b09 Show file:line in Method#inspect
@dbussink dbussink Add specs for with a KCODE argument on 1.9 cfd3ca6
@dbussink dbussink Append /n to regexp if it's specified fed1e41
@dbussink dbussink Allow for using /n as a valid KCODE for Regexps on 1.9 ae9ee50
@dbussink dbussink Add no-ops for RB_GC_GUARD
Rubinius doesn't need the RB_GC_GUARD since we have a precise GC that
always knows which objects are active so you don't need to mark stuff

Fixes #1670
@zaeleus zaeleus Reverse default arguments for Rubinius::Type.coerce_to_float ecfcabc
@brixen brixen More specs for passing a final Hash argument. ee28ea5
Commits on Apr 18, 2012
@brixen brixen More fixes for passing Hash values. a51d663
@brixen brixen Merge remote-tracking branch 'zaeleus/string_to_f' 7956dff
@jfirebaugh jfirebaugh Returning Enumerator always precedes frozen check 42b01fc
@jfirebaugh jfirebaugh Returning Enumerator always precedes frozen check 46aa5c2
@dbussink dbussink Speedup for Tuple#to_a ae1fad4
@dbussink dbussink Don't do unneccesary sync
Calling sync here can cause very long pauses if all the buffers in the
entire system are being flushed. It is also not necessary when the
underlying system follows the POSIX specification which explicitly
states that a read() that can be proven to occur after a write() should
always see the data written:

"If a read() of file data can be proven (by any means) to occur after a
write() of the data, it must reflect that write(), even if the calls are
made by different processes."
Commits on Apr 20, 2012
@jfirebaugh jfirebaugh Exception#inspect returns class name if #to_s is empty 637be41
@jfirebaugh jfirebaugh Exception#inspect returns class name if #to_s is empty 1b1d570
@IPGlider IPGlider Add Zlib::ZStream#adler
Fix issue #1561
@IPGlider IPGlider Add spec for Zlib::ZStream#adler 5ea8738