* array.c (rb_ary_modify): steal shared array's container when
ARY_SHARED_NUM == 1. [Feature #6638]
- Do not allocate new memory in rb_ary_modify when ARY_SHARED_NUM == 1
and length almost same.
- Store ARY_CAPA instead of RARRAY_LEN in ary_make_shared, to make
it useful.
- Fix rb_ary_sort_bang accordantly.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37581 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
are resized to same size and the current index become out of
range.
* test/ruby/test_array.rb: add a test for the above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37464 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
self and other are resized to same size in #== of their elements.
[ruby-dev:46373] [Feature #6177]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* array.c (rb_ary_sample): use rb_random_ulong_limited, since
precision of long may be larger than double.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37126 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Enhance documentation for array uniqueness
Based on a patch by Robin Dupret
[Bug #6872] [ruby-core:47209]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36965 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Update documentation for Array#select
* enum.c (enum_find_all, enum_reject):
Update documentation for Enumerable#find_all and Enumerable#reject
Based on a patch by Jeff Saracco
[Bug #6908] [ruby-core:47285] [Fixes#166 on github]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36964 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
We talked about this and it is like following:
* maybe ary.join(nil) should always use empty string as a separator,
but it disables to specify $, as a seprator through variables.
* if nil means '', the conversion is to_s. to_s is not accepted.
* nil is a special value, so special behavior is allowed.
* use of $ variables is not recommended, so it is not worth to change
current behavior.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* array.c (rb_get_values_at): fill with nil out of range.
[ruby-core:43678] [Bug #6203]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* array.c (rb_ary_join): should not infected by separator if it is not
used. [ruby-core:42161][Bug #5902]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36381 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
index positioning. [Bug #6680]
* array.c (rb_ary_aset): ditto. Reordered sentences for clarity.
* string.c (rb_str_aref_m): Added a description of the behavior of
index positioning
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
starting index is an index into the array or string. Updated
examples to show behavior of indexes at the end of an array or
string. Based on patch by Marcus Stollsteimer. [Bug #6680]
* array.c (rb_ary_aset): ditto.
* string.c (rb_str_aref): ditto. Also added descriptive argument
names to call-seq section.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
documentation from Thomas Leitner <t_leitner AT gmx.at> in
[ruby-core:41616]. [Bug #5752]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
rdoc -C2 to work better. Remove <code> from method references to
allow cross-references in HTML documentation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33422 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
element after string element. [ruby-core:39776] [Bug #5379]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_eval.c (method_missing): set the length of argv array, to mark
arguments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
On clang -O, it is needed to avoid the optimization.
With this and llvm/clang's recent fix, clang 3.0 can
build ruby-trunk with -O option.
* cont.c (cont_capture): use for-loop.
* array.c (rb_ary_each): add volatile and use it.
* vm_insnhelper.c (vm_call_cfunc): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
an initial encoding.
* array.c (array_join_0): ditto.
* array.c (array_join_1): ditto.
* array.c (inspect_ary): ditto.
* array.c (array_join_1): add an argument to check the appending is
first one or not.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e