bit too noisy when RubyGems, so change it to rb_warning().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@39959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
compatibility warnings for a call without a block.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@31013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* array.c, bignum.c, dir.c, enumerator.c, gc.c, io.c, numeric.c,
object.c, re.c, string.c, struct.c: Mixing two styles is not a
good thing. Stick with the K&R style in 1.8.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@23052 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* hash.c (Hash#try_convert): New method backported from 1.9.
* io.c (IO#try_convert): New method backported from 1.9.
* re.c (Regexp#try_convert): New method backported from 1.9.
* string.c (String#try_convert): New method backported from 1.9.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@23018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
rb_ary_aplice, rb_ary_times): integer overflows should be
checked. based on patches from Drew Yao <ayao at apple.com>
fixed CVE-2008-2726
* string.c (rb_str_buf_append): fixed unsafe use of alloca,
which led memory corruption. based on a patch from Drew Yao
<ayao at apple.com> fixed CVE-2008-2726
* sprintf.c (rb_str_format): backported from trunk.
* intern.h: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@17460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
enum.c (enum_count, count_all_i, Init_Enumerable),
array.c (rb_ary_count): Sync with trunk. If no argument or
block is given, count the number of all elements.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nil when pos is valid and len is adjusted from a valid value to
zero; caught by RubySpec.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
and String#slice!(). Just return nil when a negative length or
out of boundary index is given instead of raising an exception
via internal functions.
(rb_ary_slice_bang): should not use rb_ary_subseq() which shares
internal pointer. splice modifies the receiver right after
subseq. [ruby-dev:34005]
(rb_ary_slice_bang): should adjust length before making
sub-array.
* enumerator.c (Init_Enumerator): Override
Enumerable::Enumerator#each_with_index with #with_index.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16582 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Make Array#eql?, #hash, #== and #<=> use rb_exec_recursive() and
handle recursive data properly.
* hash.c (hash_equal, rb_hash_hash): Make Hash#eql?, #hash and #==
use rb_exec_recursive() and handle recursive data properly.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16081 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Enumerable#count and #find_index; backported from 1.9.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16004 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
possible.
* array.c (rb_ary_pop, rb_ary_pop_m, rb_ary_shift, rb_ary_shift_m):
Array#pop and Array#shift can take an optional argument
specifying the number of elements to remove and return;
backported from 1.9.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
rb_ary_reject_bang): Calling Array#each, #each_index,
#reverse_each, #reject! or #delete_if without a block now
returns an enumerator; backported from 1.9.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
take a block instead of an argument; backported from 1.9.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
suggested by Bertram Scharpf <lists@bertram-scharpf.de> in
[ruby-talk:134083].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-size) is given, do not raise an exception but return nil just
like slice() does.
* test/ruby/test_array.rb (TestArray::test_slice,
TestArray::test_slice!): Pull in test cases from trunk.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@14184 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
using #to_ary.
* hash.c (rb_hash_s_create): check and convert argument hash
using #to_hash.
* hash.c (rb_hash_s_create): Hash#[] now takes assocs as source of
hash conversion.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@13803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e