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

6868 Коммитов

Автор SHA1 Сообщение Дата
usa bf905503a0 * test/ruby/memory_status.rb: require envutil before accessing EnvUtil
module.  reported by ko1 via twitter.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-31 08:24:30 +00:00
nobu d14458fb41 signal.c: preserve encoding
* signal.c (esignal_init): preserve encoding in error messages.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-31 02:34:43 +00:00
nobu 03f0ca4c81 vm.c: avoid inadvertent pin-down
* vm.c (vm_stat): get rid of inadvertent dynamic symbol pin-down,
  and preserve encoding in error messages.  also should not use
  RSTRING_PTR macro on function calls.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-31 02:34:40 +00:00
nobu a92374677c gc.c: avoid inadvertent pin-down
* gc.c (gc_info_decode): get rid of inadvertent dynamic symbol
  pin-down, and preserve encoding in error messages.  also should
  not use RSTRING_PTR macro on function calls.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-30 21:55:59 +00:00
nobu c0dee604fe process.c: preserve encodings
* process.c (rlimit_resource_type, rlimit_resource_value):
  preserve argument encoding in error messages.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45478 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-30 21:00:53 +00:00
nobu 956745eee2 test_process.rb: test if success?
* test/ruby/test_process.rb (test_rlimit_value): should not use
  magic number 0, which may not be EXIT_SUCCESS.  use `success?`
  instead.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-30 21:00:51 +00:00
nobu 8062cdc6b0 test_member.rb: fix locale depending test failure
* test/-ext-/struct/test_member.rb (test_member_get): set
  default_external encoding to fix locale depending test failure.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-28 22:43:22 +00:00
nobu 1d223a3bdf struct.c: avoid pinning down
* struct.c (rb_struct_set, rb_struct_aref, rb_struct_aset): get
  rid of pinning down dynamic symbols by SYM2ID.

* struct.c (rb_struct_aref_sym, rb_struct_aset_sym): use Symbol
  instead of ID.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-28 12:36:27 +00:00
nobu 4a46362239 struct.c: encoding of member name
* struct.c (not_a_member): preserve encoding of member name in
  error messages.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-28 10:32:36 +00:00
nobu afb4bcbfd6 struct.c: not_a_member message
* struct.c (not_a_member): extract name error and use same error
  messages.  based on the patch by Marcus Stollsteimer <sto.mar AT
  web.de> at [ruby-core:61721].  [Bug #9684]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-28 10:32:16 +00:00
nobu 9d1bf5b33a string.c: infect match result
* string.c (rb_pat_search): match result should be infected by the
  pattern.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-28 02:28:18 +00:00
nobu 2f14bde88f string.c: backref substitution
* re.c (rb_reg_regsub): allow nil regexp for string matching.

* string.c (rb_str_sub_bang, str_gsub): make substitution if
  replacement string has backref escapes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45459 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-28 02:28:16 +00:00
nobu 2d82342cf2 string.c: unset $~ if unmatch
* string.c (rb_pat_search): unset $~ if the last match failed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-28 02:27:14 +00:00
nobu 5752b61d86 string.c: search by rb_str_index
* re.c (match_regexp): set regexp for MatchData from string.
* re.c (rb_backref_set_string): create MatchData from string and
  set backref.
* string.c (rb_pat_search, rb_str_sub, rb_str_sub_bang, str_gsub),
  (scan_once, rb_str_scan, rb_str_partition): use rb_str_index
  instead of rb_reg_search() when pattern is a String.  based on
  the patch by Sam Rawlins <sam.rawlins@gmail.com> [Fixes GH-579]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-27 09:58:12 +00:00
nobu ffdb3ce9b9 re.c: class name encoding
* re.c (match_inspect): preserve class name encoding by PRIsVALUE.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-27 09:08:54 +00:00
nobu 2dc8f669a8 test_m17n_comb.rb: refine assertions
* test/ruby/test_m17n_comb.rb (test_str_scan): refine assertion
  messages.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-27 09:08:51 +00:00
nobu e8de850e6d encoding.c: fix encoding of dynsym
* encoding.c (rb_enc_get_index): the encoding of dynamic symbol
  comes from fstr.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-26 11:14:44 +00:00
nobu 45fff5150a encoding.c: enc_capable symbol
* encoding.c (enc_capable): Symbol is now encoding capable.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-26 08:24:09 +00:00
nobu 3935f2ae6e marshal.c: undumpable hidden objects
* marshal.c (w_object): internal objects are not dumpable.
  [ruby-core:61677] [Bug #9674]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-26 02:20:52 +00:00
nobu 1dd527012b thread.c: undumpable
* ext/thread/thread.c (undumpable): ConditionVariable and Queue
  are not dumpable.  [ruby-core:61677] [Bug #9674]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-26 02:20:26 +00:00
nobu dcd1e5e5c2 parse.y: required kwarg without parentheses
* parse.y (parser_yylex): only a newline after label should be
  significant.  [ruby-core:61658] [Bug #9669]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45408 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-25 14:57:18 +00:00
kazu 6df5f314ac remove unnecessary unshift
* ext/pathname/lib/pathname.rb (Pathname#join): remove unnecessary unshift.
* test/pathname/test_pathname.rb (TestPathname#test_join): add tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-25 14:42:36 +00:00
usa 602a9c1416 * test/ruby/test_time.rb: extended the timeout span and reduce the loop count.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-25 07:57:35 +00:00
nobu d7442c32df parse.y: required kwarg without parentheses
* parse.y (lex_state_e, parser_params, f_arglist, parser_yylex):
  separate EXPR_LABELARG from EXPR_BEG and let newline significant,
  so that required keyword argument can place at the end of
  argument list without parentheses.  [ruby-core:61658] [Bug #9669]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45405 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-25 07:47:37 +00:00
usa 69c80f18e3 * test/ruby/test_time.rb: use portable time zone. see [ruby-core:61671] [Bug #9652]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45403 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-25 06:55:04 +00:00
nobu 0331e42be3 parse.y: freeze filename
* parse.y (ripper_initialize): filename can not be modified.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-24 13:19:57 +00:00
nobu 87108634e1 test_time.rb: arguments order
* test/ruby/test_time.rb (TestTime#test_marshal_zone_gc): fix
  the order of arguments.  expected value should come first.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-24 08:26:09 +00:00
naruse f664ffb5a0 Asia/Tokyo is more portable value for ENV["TZ"] [Bug #9652]
FreeBSD doesn't accept "Japan".

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-24 08:02:54 +00:00
nobu bedc6fdf88 vm_method.c: check if klass is 0
* vm_method.c (rb_method_entry_get_without_cache): me->klass is 0
  for a method aliased in a module.  [ruby-core:61636] [Bug #9663]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-23 02:03:51 +00:00
nobu af1da410ca cgi/util.rb: use alias
* lib/cgi/util.rb (escape_html, unescape_html): make synonyms
  aliases instead of wrapper methods.
* lib/cgi/util.rb (escape_element, unescape_element): ditto.
  [Fixes GH-573]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-21 21:46:17 +00:00
nobu 993fd53616 test_cgi_util.rb: escape for ruby-mode.el
* test/cgi/test_cgi_util.rb (CGIUtilTest): escape '<' not
  ruby-mode.el to confuse with here documents.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-21 21:46:04 +00:00
jeg2 3fb752a921 * lib/csv.rb: Fixed a broken regular expression that was causing
CSV to miss escaping some special meaning characters when used
  in parsing.
  Reported by David Unric
  [ruby-core:54986] [Bug #8405]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-20 14:38:21 +00:00
nobu 3453070fbc vm_method.c: fix infinite recursion
* vm_method.c (rb_method_entry_get_without_cache): get rid of
  infinite recursion at aliases in a subclass and a superclass.
  return actually defined class for other than singleton class.
  [ruby-core:60431] [Bug #9475]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45367 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-20 03:31:28 +00:00
normal e0a0edf548 time.c: freeze and preserve marshal-loaded time zone
We need to prevent vtm.zone from pointing to a GC-ed string buffer.
The rb_copy_generic_ivar call misses it because get_attr deleted it.
Thanks to nobu for the rb_str_new_frozen suggestion.

* time.c (time_mload): freeze and preserve marshal-loaded time zone
* test/ruby/test_time.rb: add test for GC on loaded object
  [Bug #9652]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-19 08:19:13 +00:00
sorah 55a9667de3 * vm_eval.c (eval_string_with_cref): Use file path even if scope is
given. Related to [ruby-core:56099] [Bug #8662] and r42103.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-18 14:06:34 +00:00
normal 3e6fe414d8 variable.c: avoid memory leak on const redefinition
* variable.c (rb_const_set): delete existing entry on redefinition
  [Bug #9645]
* test/ruby/test_const.rb (test_redefinition): test for leak

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45350 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-17 01:24:06 +00:00
nobu 163f9abe4f vm_insnhelper.c: relax arity check
* vm.c (invoke_block_from_c): add splattable argument.
* vm.c (vm_invoke_proc): disallow to splat when directly invoked.
* vm_insnhelper.c (vm_callee_setup_arg_complex, vm_callee_setup_arg):
  relax arity check of yielded lambda.  [ruby-core:61340] [Bug #9605]
* test/ruby/test_yield.rb (TestRubyYieldGen#emu_bind_params): no
  longer raise ArgumentError when splatting to lambda.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-13 16:18:45 +00:00
nobu 03787200af test/dl, test/fiddle: relax criteria
* test/dl/test_{cptr,handle}.rb, test/fiddle/test_{handle,pointer}.rb:
  relax memory leak criteria.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45325 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-13 16:18:30 +00:00
nobu 3be926db2a revert [Bug #9605]
* enum.c: revert r45284, r45286, r45292.  it conflicts with
  existing behaviors.  [Bug #9605]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45322 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-12 08:16:47 +00:00
nobu c28b5723f6 vm_insnhelper.c: disable fastpath if splat
* vm_insnhelper.c (vm_callee_setup_arg): disable fastpath if splat
  argument, since argc may differ for each calls.
  [ruby-core:61422] [Bug #9622]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45321 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-12 02:19:13 +00:00
normal 4101a5690e insns.def (opt_regexpmatch2): respect redefined match op
* insns.def (opt_regexpmatch2): respect redefined match op
  Thanks to Sam Rawlins for the fix.
* test/ruby/test_string.rb: test based on Tsuyoshi Sawada's report
  [Bug #9581]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45318 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-11 22:28:33 +00:00
ktsj b204fe182f * test/objspace/test_objspace.rb (TestObjSpace#test_dump_uninitialized_file):
remove dependency on json library.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45316 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-11 13:23:43 +00:00
nobu d4ab41e393 test_hash.rb: refine a test
* test/ruby/test_hash.rb (test_exception_in_rehash): do not run twice
  since this test does not use @cls.  making a hash may increase
  memory usage and should be in preparation.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45315 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-11 05:16:06 +00:00
nobu dc52725655 envutil.rb: do not check RSS by default
* test/ruby/envutil.rb (Test::Test#assert_no_memory_leak): do not
  check RSS by default, enabled by rss optional keyword argument.
  TestHash#test_exception_in_rehash sometimes fails otherwise.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45314 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-11 05:16:04 +00:00
usa 5543a55b52 * test: get rid of warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45313 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-11 04:22:34 +00:00
naruse 89dff2712d r45298 fix trivial bug
$initial_size must be a size, not a status

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45311 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-11 01:25:20 +00:00
charliesome c8c539a198 ext/objspace: Check fptr before trying to dump FILE object fd
Patch by Scott Francis. Closes GH-562.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45308 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-10 21:55:51 +00:00
nobu 21759a08b3 merge GH-558
* test/ruby/test_enumerator.rb (test_iterators): fix test for hash
  iterators.  [Fixes GH-558]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45303 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-10 01:51:45 +00:00
nobu dfdb8b7372 fiddle/function.c: fix memory leak on exception
* ext/fiddle/function.c (function_call): fix memory leak when an
  exception occurs at argument conversion or the function call.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45301 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-09 04:51:38 +00:00
nobu cb05f199ee tests for [Bug #9599]
* test/dl/test_{cptr,handle}.rb: tests for [Bug #9599].

* test/fiddle/test_{handle,pointer}.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-09 04:19:10 +00:00