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

40146 Коммитов

Автор SHA1 Сообщение Дата
tenderlove dec31ef3eb * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): add missing
instance variables to squash warnings with alpn.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51378 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-25 19:53:16 +00:00
svn c62785b9fb * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-25 18:45:51 +00:00
svn ea474f5dd6 * 2015-07-26
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-25 18:45:18 +00:00
tenderlove c8884ebfe4 * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): move
OpenSSL::SSL::SSLContext#initialize implementation to pure Ruby.

* ext/openssl/ossl_ssl.c (ossl_sslctx_initialize): ditto

* ext/openssl/ossl_ssl.c (Init_ossl_ssl): ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-25 18:44:54 +00:00
nobu e02186f526 random.c: get rid of blocking
* random.c (fill_random_bytes_syscall): get rid of blocking when
  no entropy is available.  based on the patch by mame in
  [ruby-core:70114].  [Bug #11395]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-25 12:03:50 +00:00
nobu 6e54a6df22 iseq.c: fix type
* iseq.c (rb_iseq_disasm, iseq_data_to_ary): fix loop counter type
  for array length.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51373 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-25 02:18:32 +00:00
nobu 8101cc3de4 string.c: fill the terminator
* string.c (str_replace_shared_without_enc): fill the terminator
  of embedded strings in wide char encodings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-25 02:05:34 +00:00
nobu 9e4b24d4f3 string.c: remove redundant call
* string.c (str_replace): remove redundant coderage copy as
  str_replace_shared already copys it.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-25 01:48:53 +00:00
nobu 502004f617 string.c: cmp orders
* string.c (fstring_cmp, rb_str_hash_cmp): compare lengths first,
  then encodings, and contents at last.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51370 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-25 01:48:47 +00:00
ko1 22be6d06ab * vm_core.h: size should be unsigned.
* rb_call_info_t::index
  * rb_iseq_constant_body::stack_max
  * rb_iseq_constant_body::local_size
  * rb_iseq_constant_body::param::size
  * rb_iseq_constant_body::local_table_size
  * rb_iseq_constant_body::is_size
  * rb_iseq_constant_body::callinfo_size
* iseq.h: same for iseq_catch_table::size.
* compile.c: catch up these fix.
* iseq.c: ditto.
* proc.c: ditto.
* vm.c: ditto.
* vm_args.c: ditto.
* vm_eval.c: ditto.
* vm_insnhelper.c: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51369 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-24 21:44:14 +00:00
ko1 14428f09b1 * vm_core.h: constify rb_iseq_constant_body::line_info_table.
* iseq.c: catch up this fix.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51368 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-24 21:01:09 +00:00
ko1 efa31acaad * vm_core.h: constify rb_iseq_constant_body::param::opt_table and
rb_iseq_constant_body::param::keyword.
* compile.c: catch up this fix.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51367 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-24 20:58:09 +00:00
svn 18ef8181ae * 2015-07-25
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-24 19:49:35 +00:00
ko1 8fbf5dd9e5 * vm_core.h: constify rb_iseq_constant_body::catch_table.
* compile.c (iseq_set_exception_table): catch up this fix.
* iseq.c: ditto.
* vm.c (vm_exec): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-24 19:49:16 +00:00
nobu 7d517ffc80 st.c: fix arguments order to compare
* st.c (EQUAL, st_delete_safe): fix arguments order to compare
  function, searching key is the first and stored key is the
  second always.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-24 12:29:57 +00:00
nobu b706810232 string.c: fstring must not be a shared string
* string.c (fstr_update_callback): fstring must not be a shared
  string, or the content without RSTRING_FSTR may be freed.
  [ruby-dev:49188] [Bug #11386]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-24 12:27:32 +00:00
ngoto 6f8d3709da * test/rinda/test_rinda.rb (RingIPv6#prepare_ipv6): prevent to use
IPv6 loopback interface for
  Rinda::TestRingFinger#test_make_socket_ipv6_multicast and
  Rinda::TestRingFinger#test_make_socket_ipv6_multicast_hops.
  The tests are skipped if there are no IPv6 devices other than the
  loopback device. [Bug #11394] [ruby-dev:49199]

* test/rinda/test_rinda.rb (test_make_socket_ipv6_multicast): ditto
  for Rinda::TestRingServer#test_make_socket_ipv6_multicast.
   
* test/rinda/test_rinda.rb (test_ring_server_ipv6_multicast): ditto
  for Rinda::TestRingServer#test_ring_server_ipv6_multicast.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51362 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-24 11:29:49 +00:00
svn 0ee5c9b7fe * 2015-07-24
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-24 07:38:47 +00:00
nobu 4ab69ebbd7 string.c: pool only bare strings in fstring
* string.c (fstr_update_callback): pool bare strings only.
* string.c (rb_fstring): return the original string with sharing a
  fstring if it has extra attributes, not the fstring itself.
  [ruby-dev:49188] [Bug #11386]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-24 07:38:37 +00:00
nobu 4e58f21f79 Add tests for `File.extname`
* file.c (rb_file_s_extname): [DOC] add an example.
* test/ruby/test_path.rb (test_extname): add tests.  [Fix GH-978]
  * path starts with dot ('.a.rb')
  * path includes dir name ('a/b/d/test.rb')
  * path includes dir name and dir name starts with dot
    ('.a/b/d/test.rb')

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51359 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-24 07:35:38 +00:00
svn a34343b3a3 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-23 09:53:28 +00:00
ko1 eed613f4b1 * vm_core.h: constify rb_iseq_constant_body::local_table and
rb_iseq_param_keyword::table and
  rb_iseq_param_keyword::default_values.
* compile.c: catch up this fix.
* iseq.c: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51357 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-23 09:53:16 +00:00
ko1 18f6978625 * vm_core.h: constify rb_iseq_constant_body::iseq_encoded and
rb_control_frame_t::pc.
* compile.c (rb_iseq_translate_threaded_code): catch up this fix.
* iseq.c: ditto.
* vm_exec.c (vm_exec_core): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51356 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-23 09:34:31 +00:00
nobu f965866f4f string.c: new string for fake string
* string.c (fstr_update_callback): create new string for fake
  string, and pool shared target unless substring.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51355 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-23 05:14:53 +00:00
nobu 8ea11e8e1e string.c: trivial optimizations
* string.c (rb_str_new_frozen, str_make_independent_expand):
  trivial peephole optimizations.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-23 05:14:35 +00:00
nobu 21dbe868f8 string.c: taint flags
* include/ruby/ruby.h: add raw FL macros, which assume always the
  argument object is not a special constant.
* internal.h (STR_EMBED_P, STR_SHARED_P): valid only for T_STRING.
* string.c: deal with taint flags directly across String instances.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51353 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-23 01:25:49 +00:00
nobu 33f5edd5f3 string.c: str_shared_replace
* string.c (str_shared_replace): split from rb_str_shared_replace
  without argument check.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-23 01:16:46 +00:00
nobu 7c413b5545 ossl_ssl.c: suppress warnings
* ext/openssl/ossl_ssl.c (ossl_sslctx_setup): fix argument types
  to suppress shorten-64-to-32 and shorten-64-to-32 warnings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-23 00:10:40 +00:00
nobu dfec9d9788 parse.y: pop cmdarg
* parse.y (lambda_body): pop cmdarg stack for lookahead
  token.  [ruby-core:70067] [Bug #11380]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51350 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-23 00:05:30 +00:00
tenderlove 28e866d7bb fix tests bu not setting the string instance on the frozen object
OpenSSL [copies the string returned by the pointe](9f040d6dec/ssl/t1_lib.c (L1800-1809)), so it should be safe to just return a pointer to the string object and not set an instance variable on the already frozen object.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-22 19:04:58 +00:00
tenderlove 5326593a8b * ext/openssl/ossl_ssl.c: add ECDH callback support. [Feature #11356]
* test/openssl/test_pair.rb: test for ECDH callback support

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51348 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-22 18:34:45 +00:00
tenderlove bc6e55c084 * ext/openssl/ossl_ssl.c: add ALPN support. [Feature #9390]
* ext/openssl/extconf.rb: detect ALPN support in OpenSSL

* test/openssl/test_ssl.rb: test for ALPN

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-22 18:31:42 +00:00
svn 3b0d490548 * 2015-07-23
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51346 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-22 15:16:32 +00:00
kazu bef7ff00b4 fix typos [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51345 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-22 15:16:15 +00:00
nobu 61d807ccfa string.c: fix coderange of reverse
* string.c (rb_str_reverse): reversed string is not a substring,
  and should not set coderange of the original string.
  [ruby-dev:49189] [Bug #11387]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51344 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-22 14:44:20 +00:00
nagachika 7389ac15be * ChangeLog: fix a typo for r51324. [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51343 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-22 13:26:06 +00:00
nobu 4c4d0389f5 ruby.h: ASSUME
* include/ruby/ruby.h (ASSUME): hint for optimization, the
  expression is assumed to be true always.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51342 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-22 11:27:46 +00:00
ko1 c44360f623 * vm_core.h: modify layout of rb_iseq_constant_body.
Move frequent accesssing fields to upper part.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51341 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-22 11:21:21 +00:00
ko1 6f8b0aeb3b * vm_core.h: remove unused declaration of
iseq_compile_data_ensure_node_stack.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51340 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-22 10:58:33 +00:00
ko1 0d775f2a3c * vm_core.h: separate rb_iseq_body into rb_iseq_constant_body and
rb_iseq_variable_body (rb_iseq_t::variable_body).
  rb_iseq_variable_body can be modified after compilation.
* compile.c: use rb_iseq_t::variable_body.
* iseq.c: ditto.
* thread.c: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51339 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-22 10:55:02 +00:00
usa 2f5897e6b6 * test/webrick/test_utils.rb (TestWEBrickUtils#test_nested_timeout_outer): seems
to be too short for mswin CI.  fixed occasional failure introduced at r51235.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51338 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-22 09:04:57 +00:00
hsbt eb0e81fc8f * lib/matrix/eigenvalue_decomposition.rb: refine code style.
[fix GH-959][ci skip] Patch by @bogdanvlviv

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51337 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-22 08:50:41 +00:00
nobu d11a93c0d1 common.mk: fix exec
* common.mk: fix macro name, exec but not EXEC.  pointed by
  @nagachika.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-22 07:14:20 +00:00
hsbt 1931f5e62e * test/ruby/test_range.rb: Add test case for Range#end with
exclude_end true case. [fix GH-968] Pach by @yui-knk

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51335 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-22 06:48:53 +00:00
nobu 545086d2c7 fix doc for Numeric#coerce [ci skip]
* numeric.c (num_coerce): [DOC] fix doc for Numeric#coerce,
  missing '+'.  [Fix GH-974]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-22 00:45:33 +00:00
nobu 26be081f1b Makefile.in: PIC lex.c
* Makefile.in (lex.c): make position independent table.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51333 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-22 00:37:09 +00:00
nobu da4d4c0024 parse.y: call rb_intern2
* parse.y (parse_ident): call rb_intern2 with the known length
  instead of strlen().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51332 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-22 00:36:09 +00:00
nobu 2c8fd3fce8 common.mk: add exec
* common.mk: add exec to quoted commands.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51331 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-22 00:35:23 +00:00
nobu 47e0957e21 thread.c: return the error
* thread.c (rb_wait_for_single_fd): return the error when ppoll
  failed.  fix r51319.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51330 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-22 00:34:47 +00:00
naruse 8c1a75a3bf follow r51064
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-21 23:24:18 +00:00