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

41374 Коммитов

Автор SHA1 Сообщение Дата
ngoto 0a205155cf * configure.in: Add -D_XOPEN_SOURCE=500 (or 600 or 700) on Solaris
if available, mainly for enabling some features in sockets.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-21 16:37:12 +00:00
svn c3bc3b1646 * 2015-11-22
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-21 16:19:21 +00:00
ngoto 0917a3dea2 * test/socket/test_socket.rb (test/socket/test_socket.rb): skip the test when Socket::SO_TIMESTAMP is not defined.
Fix error on Solaris 10. [Bug #11728] [ruby-dev:49377]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-21 16:19:06 +00:00
kazu 83cb00042f fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-21 12:18:10 +00:00
kazu ab8a8b6846 fix typos [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-21 12:17:50 +00:00
nobu 82bd486e99 ruby.c: --debug=frozen-string-literal option
* ruby.c (need_argument): move frozen-string-literal-debug option
  from --enable to --debug.  [Feature #11725]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-21 09:57:31 +00:00
nobu c033efddea ruby.c: fix pointer overrun
* ruby.c (proc_options): fix pointer overrun. do not advance argv
  until it is valid.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-21 09:41:56 +00:00
naruse 8fdebec088 fix r52690
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-21 06:36:05 +00:00
naruse bbc63197bd * ext/digest/sha1/extconf.rb: OpenSSL's struct name for SHA1 is
SHA_CTX. http://openssl.org/docs/man0.9.8/crypto/SHA1.html

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-21 05:01:55 +00:00
naruse 9a7c25abab * ext/digest/*/*.[ch]: include ruby.h before digest.h to avoid
includeing ext/digest/extconf.h. [Bug #3231]
  https://msdn.microsoft.com/library/36k2cdd4.aspx

* ext/digest/*/extconf.rb: remove ext/digest from include search path
  to avoid confusion of cl.exe.

* ext/digest/*/*.[ch]: explicitly specify def.h's path.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-21 04:35:57 +00:00
naruse c964c738be * ext/openssl/ossl.h: LibreSSL doesn't have and need e_os2.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-21 04:06:43 +00:00
ko1 628d9057e4 add to NEWS about Queue#close
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-21 00:46:53 +00:00
ko1 e2609033ab * thread_sync.c: reduce the specification of Queue#close.
* Queue#close accepts no arguments.
  * deq'ing on closed queue returns nil, always.
  [Feature #10600]

* test/thread/test_queue.rb: catch up this fix.




git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-21 00:32:09 +00:00
naruse a77fb26da8 Visual C++ 14 (2015) uses ucrtbase.dll as c runtime
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52690 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-21 00:20:53 +00:00
naruse 9ddeb957fd read may return nil
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-20 23:51:44 +00:00
ko1 ba772af0a6 * compile.c (iseq_compile_each): add debug information to NODE_STR
strings as default.
  [Feature #11725]

* insns.def (freezestring): add new instruction to support adding
  debug information for dynamically constracted strings.

* compile.c (iseq_compile_each): support adding debug information
  for NODE_DSTR with freezestring instruction.

* error.c (rb_error_frozen): change the debug information ID name
  id_debug_created_info and this field should have a 2 element array
  containing path and line information.

* defs/id.def: ditto.

* test/ruby/test_rubyoptions.rb: catch up this fix.

* test/ruby/test_iseq.rb: now frozen strings are not same.




git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52688 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-20 23:49:31 +00:00
svn 8943521648 * 2015-11-21
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-20 19:34:39 +00:00
nobu c815f7e7cf symbol.c: not freeze the receiver
* symbol.c (rb_str_intern): should not freeze the receiver itself
  unexpectedly.  [ruby-core:71611] [Bug #11721]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-20 19:34:19 +00:00
sonots 8594cab140 * lib/logger.rb: expose logger mutex
[fix GH-541] Patch by @arthurnn

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-20 14:16:56 +00:00
hsbt a90c99ee0c * Added missing reference of GitHub
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-20 06:05:35 +00:00
hsbt f0002bd5a2 * lib/net/http.rb: Fixed regression for Net::HTTP::PUT with "Expect-100"
header.
* test/net/http/test_http.rb: added test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52683 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-20 05:57:10 +00:00
hsbt 2c97d69052 * lib/net/http.rb: set hostname before call ossl_ssl_set_session.
[Bug #11401][ruby-core:70152][fix GH-964] Patch by @mkarnebeek

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52682 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-20 05:40:04 +00:00
nobu 2fac41a63e enc-unicode.rb: --header
* tool/enc-unicode.rb: add --header option to emit name2ctype.h
  directly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52681 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-20 04:03:10 +00:00
hsbt 65c744fb9c * array.c: clarify docs for take_while/drop_while samples.
[ci skip][fix GH-1028] Patch by @leriksen

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-20 03:53:25 +00:00
hsbt 35c3f042fc * ext/socket/socket.c: remove mention of :UNIX in getaddrinfo().
It's typically not a support option.
  [ci skip][fix GH-990] Patch by @eam

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-20 03:48:10 +00:00
hsbt 49bb4a1fd9 * lib/rss/syndication.rb: Add nodoc marker for #validate_sy_updatePeriod.
[ci skip][fix GH-1105] Patch by @davydovanton

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-20 03:44:12 +00:00
ko1 c267d24ef0 * vm.c (rb_vm_cref_replace_with_duplicated_cref): added.
CREFs should not be shared by methods between `using'.
  [Bug #11247]

* vm_insnhelper.c (vm_cref_replace_with_duplicated_cref): ditto.

* vm.c (vm_cref_dup): should copy refinements correctly.

* eval.c: use rb_vm_cref_replace_with_duplicated_cref().

* eval_intern.h: add a decl. of
  rb_vm_cref_replace_with_duplicated_cref().

* vm_eval.c (eval_string_with_cref): do not need to pass
  scope's CREF because VM can find out CREF from stack frames.

* test/ruby/test_refinement.rb: add a test.




git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-20 00:17:25 +00:00
svn 895b44dcf6 * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-19 22:10:29 +00:00
svn c1a461e56a * 2015-11-20
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52675 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-19 22:10:23 +00:00
normal c208841410 add .gitattributes
This improves method detection for Ruby source files;
making output of "git diff" and "git log -p -W" more
readable for git users looking at our Ruby code.

git will automatically notice this file and start using
it when generating diff output.

See the gitattributes(5) manpage for more details.
Ruby pattern definitions reside in userdiff.c of the
git sources at git://git.kernel.org/pub/scm/git/git.git

* .gitattributes: new file for git users
  [ruby-core:71578] [Feature #11713]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52674 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-19 22:09:47 +00:00
akr 33b832979b * ext/socket/ancdata.c: Check buffer full and ignore MSG_TRUNC flag.
buffer fullness is more robust to detect the message is too big for
  the buffer.
  AIX 7.1 recvmsg doesn't set MSG_TRUNC for rflags when MSG_PEEK is
  given.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-19 13:49:58 +00:00
ko1 121b6e064a * gc.c (gc_start): force to invoke GC by GC.start
even if it is GC.disable'd.

* test/ruby/test_gc.rb: add a test.




git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-19 12:57:20 +00:00
ko1 d5d997fa11 * gc.c: trivial performance improvements.
name    modified
    vm1_gc_short_lived*                1.015
    vm1_gc_short_with_complex_long*    1.014
    vm1_gc_short_with_long*            1.000
    vm1_gc_short_with_symbol*          1.016
    vm1_gc_wb_ary*                     1.002
    vm1_gc_wb_ary_promoted*            0.996
    vm1_gc_wb_obj*                     1.045
    vm1_gc_wb_obj_promoted*            1.014
    vm3_gc                             1.021

* gc.c (gc_writebarrier_generational): reorder parameters to optimize
  register passing function call.

* gc.c (gc_writebarrier_incremental): ditto.

* gc.c (rb_gc_writebarrier): remove LIKELY().
  LIKELY() seems to move related functions not better places.




git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-19 11:13:27 +00:00
nobu d32a48ed6c ruby.c: fix ARGV doc [ci skip]
* ruby.c (ruby_prog_init): [DOC] ARGV does not contain the name of
  the executable.  [ruby-core:71561] [Bug #11711]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-19 10:45:04 +00:00
nobu c1da4ef8d1 ruby.c: feature_option
* ruby.c (feature_option): unify enable_option and disable_option
  not to repeat feature names twice.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-19 08:56:12 +00:00
ko1 95273072a7 * signal.c: should also clear ruby_disable_gc.
[Bug #11692]




git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52668 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-19 06:54:35 +00:00
ko1 7ae65d0121 * compile.c (iseq_compile_each): T_IMEMO/iseq objects should be
wrap with ISeq wrappers. [Bug #11676]




git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-19 06:33:05 +00:00
hsbt 5f6715275e * lib/rubygems: Update to RubyGems 2.5.0+ HEAD(c6b4946).
this version includes #1114, #1314, #1322, #1375, #1383, #1387
* test/rubygems: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-19 06:16:19 +00:00
nobu 9c065a4bfb ruby.c: set compile options at once
* ruby.c (process_options): set instruction compilation options at
  once, and set disabled options to false explicitly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52665 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-19 05:58:31 +00:00
usa 2e865ba81e * win32/win32.c (finish_overlapped_socket): return value of this
function should be only 0 or SOCKET_ERROR.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-19 05:16:13 +00:00
nobu 3e8672094d compile.c: tailcall before specialize
* compile.c (iseq_tailcall_optimize): apply tail call optimization
  before conversion to specialized instructions.  when looking
  back from `leave` instruction, `send` instructions have been
  translated already.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-19 05:12:14 +00:00
usa 01a54cf40f * win32/win32.c (finish_overlapped_socket): ignore EMSGSIZE when input,
because POSIX platforms just do so.  fixes test errors revealed by
  r52647.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-19 04:59:50 +00:00
nobu 8a3423d38b gc.c: use BUILTIN_TYPE
* gc.c (rb_raw_obj_info): BUILTIN_TYPE works fro non-special_const
  objects.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-18 23:33:08 +00:00
nobu 3dcd927050 fix typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-18 23:26:47 +00:00
usa 3006e5ea78 * ext/socket/ancdata.c (bsock_recvmsg_internal): stretch the buffer size
only when vmaxdatlen is nil.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-18 17:53:20 +00:00
akr 1ca597236f * test/socket/test_socket.rb (test_udp_recvmsg_truncation): rflags is
nil on Solaris 10 which have no HAVE_STRUCT_MSGHDR_MSG_CONTROL.
  Reported by Naohisa Goto. [ruby-core:71557] [Bug #11709]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-18 17:22:34 +00:00
usa f74c229c08 * configure.in: add -static-libgcc for mingw automatically if available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-18 16:48:37 +00:00
svn 3c0759555f * 2015-11-19
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-18 15:55:58 +00:00
usa adbf87232c * ext/extmk.rb (--extflags): new option to pass EXTLDFLAGS to children,
expecially exts.mk.

* common.mk (EXTMK_ARGS): use above option.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52653 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-18 15:55:39 +00:00
ko1 fa3affad9a * vm_method.c (rb_class_clear_method_cache): should clear all
RCLASS_CALLABLE_M_TBLs of all sub-classes (T_ICLASS).

  RCLASS_CALLABLE_M_TBL() caches complemented method entries.
  It should be cleared when the modules are cleared.
  On previous version clears only for direct children.
  It is enough for normal modules because corresponding T_ICLASSes
  are direct children.

  However, refinements create complex data structure. So that
  we need to clear all children (and descendants).
  [ruby-core:71423] [Bug #11672]

* vm_method.c (rb_clear_method_cache_by_class): rb_mKernel
  doesn't call rb_class_clear_method_cache, so that
  clear child T_ICLASSes.

* test/ruby/test_refinement.rb: enable disabled test.




git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-18 13:59:57 +00:00