Граф коммитов

455 Коммитов

Автор SHA1 Сообщение Дата
naruse f83d4b1780 Additional fix for r30736
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-30 21:47:10 +00:00
naruse 88a9b87816 * array.c (rb_ary_uniq_bang): call ARY_SET_LEN(ary, 0) before
rb_resize_capa because rb_resize_capa expects resized length is
  smaller than current array length. call rb_ary_unshare before
  rb_resize_capa because rb_resize_capa losts the reference to
  original shared array.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-30 20:42:40 +00:00
naruse 674ea103fa * array.c (rb_ary_join): [].join.encoding must be US-ASCII.
[ruby-list:47790]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-29 15:33:50 +00:00
akr 355c3a250d * array.c (rb_ary_times): less MEMCPY calls.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30583 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-17 14:37:05 +00:00
kazu 489d6a24e4 fix typos
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-11 06:34:14 +00:00
usa c480ca0f13 * array.c (rb_ary_resize): should care of embeded array when extending
the array.

* array.c (rb_ary_resize): need to set capa when changing the real
  size of the array.
  these are latent bugs.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-11 04:09:02 +00:00
nobu 65ea2eed78 * array.c (rb_ary_modify): export.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-05 20:25:50 +00:00
nobu c8aaf31fdd * array.c (rb_ary_resize): new utility function. [ruby-dev:42912]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-05 20:10:59 +00:00
matz 11b3b5ed90 * array.c (rb_ary_dup): should copy contents only. no instance
variable, no class would be copied.  it would affect methods
  #sort, #reject, #transpose, #uniq, #compact, and #shuffle.
  [ruby-core:33640]

* array.c (rb_ary_reverse_m): ditto.

* array.c (rb_ary_rotate_m): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-09 06:46:25 +00:00
akr 8c8814230f * array.c: parenthesize macro arguments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29997 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-01 12:44:03 +00:00
nobu 23e8deaf0d * array.c, gc.c, hash.c, object.c, string.c, struct.c,
transcode.c, variable.c, vm.c, vm_insnhelper.c, vm_method.c:
  replace calls to rb_error_frozen() with rb_check_frozen().  a
  patch from Run Paint Run Run at [ruby-core:32014]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29583 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-24 08:14:05 +00:00
nobu 671b498070 Commit miss.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-19 03:25:29 +00:00
nobu 12cbb58819 * test/ruby/test_sprintf.rb: fix ML ref. [ruby-core:32848]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-19 03:22:03 +00:00
nobu 7735e63593 * array.c (rb_ary_and, rb_ary_or), class.c (rb_mod_init_copy),
gc.c (undefine_final), time.c (time_mload): get rid of
  type-punning casts.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-13 22:22:18 +00:00
naruse d53e0fe330 * array.c (rb_ary_rotate_m): fix typo of rdoc.
patched by Andrei Kulakov [ruby-core:31975]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-01 05:36:33 +00:00
nobu 9614d22b5d * array.c (rb_ary_sample): removed unused variable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29117 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-27 06:23:56 +00:00
nobu 5b7ccc0629 * array.c (rb_ary_shuffle_bang): bail out from modification during
shuffle.

* array.c (rb_ary_sample): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29108 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-26 22:57:39 +00:00
nobu 71cf670f0f * array.c (rb_ary_shuffle): rdoc fix. argument name was missing.
a patch from Run Paint Run Run at [ruby-core:31848].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-26 13:54:03 +00:00
nobu 7e4015e16d * array.c (rb_ary_shuffle_bang): check number of argument.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29100 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-26 00:49:54 +00:00
nobu 8554e16355 * array.c (rb_ary_{shuffle_bang,sample}): use Random class object.
* random.c (try_get_rnd): use default_rand for Random as same as
  singleton methods.

* random.c (rb_random_real): check the range of result.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29098 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-25 22:30:03 +00:00
shyouhei 2531892cbc reverted to r29091; r29092 breaks test-all
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-25 12:14:38 +00:00
nobu ae6a9009dc * array.c (rb_ary_{shuffle_bang,sample}): use Random class object.
* random.c (try_get_rnd): use default_rand for Random as same as
  singleton methods.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-25 09:00:17 +00:00
nobu 569d821929 * array.c (rb_ary_sample): use frozen shared array to get rid of
reallocation.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-25 08:56:47 +00:00
nobu 2f6c0e3be3 * array.c (rb_ary_shuffle_bang, rb_ary_sample): add optional
argument random.  [ruby-dev:41923] [EXPERIMENTAL]

* random.c (rb_random_{int32,real,bytes}): fallback to normal
  method invocation.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-23 22:07:39 +00:00
nobu 119da02e87 * array.c (RAND_UPTO): macro for random number.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-21 21:46:31 +00:00
mrkn 1d04aedb5a * array.c (rb_ary_permutation, rb_ary_repeated_permutation, rb_ary_repeated_combination, rb_ary_product): use ary_make_shared_copy instead of ary_make_substitution. [ruby-dev:42067] [Bug #3708]
* test/ruby/test_array.rb (test_product, test_repeated_permutation, test_repeated_combination): append assertions against [Bug #3708].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-19 03:10:15 +00:00
mrkn 354e376028 forget to commit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-18 10:13:54 +00:00
mrkn 4023ffa92f * array.c (ary_make_shared), test/ruby/test_array.rb (test_permutation): always return the original array when it is shared. [ruby-dev:42067] [Bug #3708]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29037 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-18 09:42:36 +00:00
nobu dccf9e0c45 * configure.in, include/ruby/defines.h (RUBY_FUNC_EXPORTED): macro
to declare exported function.

* array.c (rb_ary_memsize), string.c (rb_str_memsize),
  variable.c (rb_objspace_data_type_memsize): used in
  objspace.  [ruby-dev:42022]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28982 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-14 06:33:06 +00:00
nobu 87d8a3b9ce * array.c (rb_ary_clear): should not unshare embedded array, and
should make unshared array embedded.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-19 03:33:33 +00:00
nobu 10a90fbce8 * array.c (rb_ary_clear): no need to duplicate buffer just before
clearing.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-18 12:20:14 +00:00
akr 58772d7110 * array.c (rb_ary_product): clear uninitialized elements in temporary
array.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28187 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-06 10:56:45 +00:00
nobu c22b223cb0 * array.c (rb_ary_product): need to set the length in order to get
the entries marked.  [ruby-dev:41540]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28184 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-06 01:44:38 +00:00
nobu 45f6fbf339 * removed trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-29 18:51:39 +00:00
shyouhei 11cef3cca3 * array.c (rb_ary_product): Use tmpary instead, to ensure marking
arrays by GC.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-28 08:51:41 +00:00
shyouhei 97b1c9edd2 * array.c (rb_ary_product): Do not rely on GC, t0 should be
checked explicitly.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-28 02:43:34 +00:00
marcandre 7729de4d91 * array.c: Documentation: change => in call-seq to ->.
Harmonize "#=>" in examples. [ruby-core:30206]

* bignum.c: ditto

* class.c: ditto

* compar.c: ditto

* cont.c: ditto

* dir.c: ditto

* encoding.c: ditto

* enum.c: ditto

* enumerator.c: ditto

* error.c: ditto

* eval.c: ditto

* file.c: ditto

* gc.c: ditto

* io.c: ditto

* load.c: ditto

* marshal.c: ditto

* math.c: ditto

* numeric.c: ditto

* object.c: ditto

* pack.c: ditto

* proc.c: ditto

* process.c: ditto

* random.c: ditto

* range.c: ditto

* re.c: ditto

* ruby.c: ditto

* signal.c: ditto

* sprintf.c: ditto

* string.c: ditto

* struct.c: ditto

* thread.c: ditto

* time.c: ditto

* transcode.c: ditto

* variable.c: ditto

* vm_eval.c: ditto

* vm_method.c: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-17 21:07:33 +00:00
marcandre 4afa9ed041 * array.c: Harmonize documentation, in particular regarding:
- methods returning enumerators
    - array methods and argument naming (array -> ary, an_array -> new_ary)
    - minor improvements, typo fixed and styling issues

  Other documentation errors fixed:
    - return value was self instead of a new array (or vice-versa) for
      Array#{pop,shift,permutation,repeated_permutation,keep_if}
    - Array#rindex was missing the form with a block.

* dir.c: ditto.

* enum.c: ditto. Modified Enumerable#reverse_each' documentation to clarify
  that #each will be finish before any element is yielded.

* error.c: ditto.

* gc.c: ditto.

* hash.c: ditto.

* io.c: ditto. IO#{codepoints,each_codepoint} fixed as per [ruby-core:23948]

* numeric.c: ditto.

* range.c: ditto.

* string.c: ditto.

* struct.c: ditto.

* vm_eval.c: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27777 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-13 05:49:55 +00:00
marcandre b140b77926 * array.c (rb_ary_fetch, rb_ary_splice, rb_ary_store): Improve IndexError
messages [ruby-core:28394]

* hash.c (rb_hash_fetch_m): Improve KeyError message

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-08 04:49:53 +00:00
matz 38ae996706 * array.c (rb_ary_repeated_permutation): new method added. a patch
from Makoto Kishimoto in [ruby-core:29267]   [ruby-core:28724]

* array.c (rb_ary_repeated_combination): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-16 07:24:04 +00:00
marcandre f3d2f9e4d1 * array.c (rb_ary_permutation): Remove limitation for lengthy permutations
[ruby-core:29240]

* test/ruby/test_array.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27252 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-07 17:36:15 +00:00
marcandre 93f4317f89 * array.c (rb_ary_product): Don't limit based on size when a block is given
cf [ruby-core:29240]

* test/ruby/test_array.rb (class): Test for above

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-03 20:59:56 +00:00
marcandre 94ab139bc9 * array.c (rb_ary_product): Make defensive copy in case of block...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-02 22:44:17 +00:00
marcandre d0a98a0e90 * array.c (rb_ary_product): Test for reentry
* test/ruby/test_array.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-02 22:25:49 +00:00
marcandre 7cf6ecd9de * array.c (rb_ary_product): Accept a block [ruby-core:29045]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27200 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-02 21:56:34 +00:00
akr 9ce419a45c * array.c (rb_ary_uniq_bang): the array is already unique if the
length is zero or one.
  (rb_ary_uniq): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26987 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-20 04:27:32 +00:00
matz 8b55878d2a * enum.c (enum_join): remove Enumerable#join. [ruby-core:24786]
* array.c (ary_join_1): use #to_ary to detect recursive array.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-13 05:55:46 +00:00
matz 006a8ba77f * array.c (rb_ary_select_bang): select! removes all elements for
which block returns false.  [ruby-core:27286]

* array.c (rb_ary_keep_if): #keep_if, new method.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-03 05:35:08 +00:00
naruse 6b6a41d1e7 * array.c (rb_ary_push_m): use rb_ary_modify instead of
rb_ary_modify_check.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26665 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-15 04:13:43 +00:00
matz 5d325e6a9e * array.c (rb_ary_delete): RDoc update. a patch from Hugh Sasse.
[ruby-core:28128]

* array.c (rb_ary_compact_bang): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-13 08:08:19 +00:00