I think the inconsistency is just a bug of
ruby-1.8.5p113,
ruby-1.8.5p115,
ruby-1.8.5p231,
ruby-1.8.5p231,
ruby-1.8.6p110,
ruby-1.8.6p111,
ruby-1.8.6p114,
ruby-1.8.6p230,
ruby-1.8.7p0,
ruby-1.8.7p17 and
ruby-1.8.7p22.
ruby-1.8.5p52 or prior,
ruby-1.8.6p36 or prior,
ruby-1.8.6head,
ruby-1.8.7head,
ruby-1.8.7head,
ruby-1.8 and
ruby-1.9 has consistent behavior.
It seems
ruby-1.8.5p113,
ruby-1.8.6p110 and
ruby-1.8.7p0
introduces a bug.
The bug is fixed at
ruby-1.8.6head and
ruby-1.8.7head.