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

28434 Коммитов

Автор SHA1 Сообщение Дата
duerst 4a5d3572e6 string.c: made a variable name more grammatically correct
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-12 09:42:07 +00:00
duerst f23658f1c1 string.c: minor grammar fix [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-12 09:35:00 +00:00
duerst 92dc9e55be test/ruby/enc/test_casing_options.rb: Tests for option
parsing/checking for upcase/downcase/capitalize/swapcase
(see r53503; with Kimihito Matsui)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-12 07:09:35 +00:00
duerst 2788cd9849 string.c: Added option parsing/checking for upcase/downcase/
capitalize/swapcase (with Kimihito Matsui

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-12 07:03:31 +00:00
duerst eb86cd6b7b include/ruby/oniguruma.h: Added flags needed for upcase/downcase
Unicode addition (with Kimihito Matsui)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-11 12:28:55 +00:00
nobu c97c37a5ca configure.in: check API version
* configure.in: check if the API version number is consistent with
  the program version number.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-11 00:50:51 +00:00
nobu e6f6c77d1d compile.c: fix lhs splat in massign
* compile.c (compile_massign_lhs): when index ends with splat,
  append rhs value to it like POSTARG, since VM_CALL_ARGS_SPLAT
  splats the last argument only.  [ruby-core:72777] [Bug #11970]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-10 11:57:51 +00:00
nobu 09bdb7913c missing.h: remove explicit_bzero_by_memset_s
* include/ruby/missing.h (explicit_bzero_by_memset_s): remove
  inline implementation by memset_s, which needs a macro before
  including headers and can cause problems in extension libraries
  by the order of the macro and headers.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-10 06:45:36 +00:00
normal 2b26565ebb io.c: remove obsolete rb_deferr global variable
This was made obsolete by r4190 back in July 2003.  Furthermore,
this existed less than 3 months as it was only introduced in
r3782.

So with absolutely no references to rb_deferr, I doubt any vim
plugin would care anymore.

ChangeLog: fixup indent of my previous commit, oops :X

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-10 04:44:08 +00:00
normal 18ca559da7 ChangeLog: fixup indent for r53488
Oops :x

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-10 04:43:41 +00:00
normal 778bbac8ac stdlib: avoid extra calls to eliminate "\n" from Base64
We may use the '0' (zero) to avoid adding the line feed.
Furthermore, the '*' (asterisk) modifier is not needed for
a single-element arrays.

* ext/psych/lib/psych/visitors/yaml_tree.rb (visit_String):
  eliminate chomp
* lib/net/http.rb (connect): eliminate delete
* lib/net/http/header.rb (basic_encode): ditto
* lib/net/imap.rb (authenticate): eliminate gsub
  (self.encode_utf7): shorten delete arg
* lib/net/smtp.rb (base64_encode): eliminate gsub
* lib/open-uri.rb (OpenURI.open_http): eliminate delete
* lib/rss/rss.rb: ditto
* lib/securerandom.rb (base64): ditto
  (urlsafe_base64): eliminate delete!
* lib/webrick/httpauth/digestauth.rb (split_param_value):
  eliminate chop
* lib/webrick/httpproxy.rb (do_CONNECT): eliminate delete
  (setup_upstream_proxy_authentication): ditto
  [ruby-core:72666] [Feature #11938]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-10 00:35:43 +00:00
nobu 4b346b0e71 test_hash.rb: add test
* test/ruby/test_hash.rb (test_try_convert): Add test for
  Hash.try_convert.  [Fix GH-1190]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-09 14:19:38 +00:00
nobu fa8920288c openssl: fix examples [ci skip]
* ext/openssl/ossl.c: Add missing variables to documentation
  examples.  [Fix GH-1189]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-09 14:15:49 +00:00
nobu c79402c4f0 symbol.h: unexpected safe call
* symbol.h (is_attrset_id): ASET is an attrset ID.  fix
  unexpected safe call instead of an ordinary ASET.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-09 09:26:23 +00:00
nobu d43ef66b12 RUBY_PROGRAM_VERSION from RUBY_VERSION
* configure.in, win32/setup.mak: extract RUBY_PROGRAM_VERSION from
  RUBY_VERSION in version.h instead of RUBY_API_VERSION numbers in
  include/ruby/version.h, and cut it into version numbers.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-09 01:44:56 +00:00
nobu bc8a7f9ab7 revert r53459, r53427, r53314
Revert "* tool/make-snapshot: fix for the changes of version.h in r53314."
Revert "* version.h (RUBY_BUILD_VERSION_STR_3): Workaround for old version of"
Revert "program version from API version"

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-09 00:19:16 +00:00
ko1 fca0cf6e6b * gc.c: rename PAGE_* to HEAP_PAGE_* because PAGE_SIZE is used
in Mac OS X.

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


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-08 22:15:40 +00:00
ko1 1f1f3112dc * gc.c: PAGE_BITMAP_PLANES (the number of bitmap) is 4, not 3.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-08 20:46:36 +00:00
ko1 f8827cef6a * gc.c: rename constant names HEAP_* to PAGE_*.
Keys of GC::INTERNAL_CONSTANTS are also renamed.

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


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-08 20:45:02 +00:00
knu 066b825400 * doc/regexp.rdoc: [DOC] Elaborate on the \G anchor. [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53467 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-08 13:34:52 +00:00
ko1 b6261054cd * gc.c: remove heap_page::body. Instead of this field,
heap_page::start field works well.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-08 10:56:27 +00:00
ko1 3ccafdb027 * gc.c: rename rb_heap_t::page_length to rb_heap_t::total_pages.
`page_length' is not clear (we may understand with length of
  a page).



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53464 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-08 10:34:14 +00:00
svn 98311146cc * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-08 08:23:59 +00:00
ko1 e5e37c20c9 * gc.c: remove heap_page::heap. This field is only used to recognize
whether a page is in a tomb or not. Instead of this field,
  heap_page:🎏:in_tomb (1 bit field) is added.

  Also type of heap_page::(total|free|final)_slots are changed from
  int to short. 2B is enough for them.




git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-08 08:23:58 +00:00
shugo 1645833e03 * tool/make-snapshot: fix for the changes of version.h in r53314.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53459 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-08 03:35:06 +00:00
shugo 115163421a * iseq.c (rb_iseq_compile_with_option): move variable initialization
code to avoid maybe-uninitialized warnings by gcc 4.8.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-08 00:38:40 +00:00
shugo 3dcd4b2a98 * enum.c (enum_min, enum_max): do the same optimization as r53454.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-07 15:07:25 +00:00
mrkn 98e565ec78 * ruby.h: undef HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR_CONSTANT_P
and HAVE_BUILTIN___BUILTIN_TYPES_COMPATIBLE_P on C++.
  [ruby-core:72736] [Bug #11962]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-07 13:35:32 +00:00
shugo 9f44b77a18 * enum.c (enum_minmax): optimize object comparison in
Enumerable#minmax.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-07 13:06:23 +00:00
nobu 557a00f1aa thread.c: interrupt queue on uninitialized thread
* thread.c (rb_thread_pending_interrupt_p): no pending interrupt
  before initialization.
* thread.c (thread_raise_m, rb_thread_kill): uninitialized thread
  cannot interrupt.  [ruby-core:72732] [Bug #11959]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-07 05:49:31 +00:00
nobu 7aab062ef3 version.c: no exit in ruby_show_copyright
* include/ruby/backward.h (ruby_show_copyright_to_die): for source
  code backward compatibility.
* ruby.c (process_options): return Qtrue to exit the process
  successfully.
* version.c (ruby_show_copyright): no longer exit.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-07 02:34:33 +00:00
nobu 49684589cd optparse.rb: into kwdarg
* lib/optparse.rb (OptionParser#order!): add `into` optional
  keyword argument to store the results.  [Feature #11191]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-06 08:23:10 +00:00
hsbt 96acb6e3a1 * ChangeLog: fix wrong class name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-05 12:44:56 +00:00
hsbt e2191d4ce6 * test/ruby/test_string.rb(test_chr): added test for String#chr
[fix GH-1179]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-05 12:44:55 +00:00
hsbt 2c62030c51 * test/ruby/test_numeric.rb (test_nonzero_p): added test for String#nonzero?
[fix GH-1187]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-05 12:32:43 +00:00
nobu b01c28eeb3 Clarify object references example
* doc/marshal.rdoc: Clarify object references example, that the
  reference is same object.  [Fix GH-1156]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-05 02:47:38 +00:00
normal dc59c76898 stringio: binmode sets encoding to ASCII-8BIT
This should match the behavior of IO#binmode as far
as treating content as ASCII-8BIT (binary).

* ext/stringio/stringio.c (strio_binmode): implement to set encoding
* test/stringio/test_stringio.rb (test_binmode): new test
  [ruby-core:72699] [Bug #11945]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53435 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-04 20:45:14 +00:00
sho-h d5f4a2ba12 variable.c (rb_mod_deprecate_constant): [DOC] added
documentation for Module#deprecate_constant. [ci skip]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-04 07:08:05 +00:00
sho-h 571fb5b687 thread_sync.c: [DOC] remove SizedQueue#close argument. [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53428 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-04 06:38:26 +00:00
ngoto 1c8b8173be * version.h (RUBY_BUILD_VERSION_STR_3): Workaround for old version of
Fujitsu C Compiler (fcc) on Solaris. [Bug #11944] [ruby-dev:49468]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-04 03:12:44 +00:00
nobu 8fe2421ef1 ChangeLog: remove unnecessary preposition [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-04 01:50:06 +00:00
nobu 09ecfbf3f7 ChangeLog: remove stale log [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-04 01:46:36 +00:00
hsbt acc472dd24 * test/coverage/test_coverage.rb: ignored test when enabled to coverage.
It lead to crash with `make test-all`.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-04 01:14:45 +00:00
yui-knk c48abea0c3 Move a comment to the appropriate position.
The position of `/* fall through */` was moved by r52931.

* insns.def (opt_case_dispatch): Move a comment to the
  appropriate position.
  [ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-03 23:14:43 +00:00
nobu 192b63fd3e Fix defined? expressions
* lib/rubygems/security.rb (DIGEST_ALGORITHM, KEY_ALGORITHM):
  should check same name as the used constants.
  [ruby-core:72674] [Bug #11940]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-03 14:55:25 +00:00
nobu 853ef28af3 aclocal.m4: add
* aclocal.m4: add fallback file for non-aclocal environments.
  [ruby-core:72683] [Bug #11942]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-03 10:22:12 +00:00
yui-knk 5cf9b65aa3 Use `rb_method_visibility_t` instead of `int` in `rb_print_undef`
* eval_error.c (rb_print_undef): Use `rb_method_visibility_t`
  instead of `int`.
* eval_intern.h (rb_print_undef): ditto
* proc.c (mnew_internal): ditto
* vm_method.c (rb_export_method): ditto
  [Misc #11649] [ruby-core:71311] [fix GH-1078]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-03 04:59:54 +00:00
nobu e05a853718 acinclude.m4: rename
* acinclude.m4: rename aclocal.m4, which should be generated by
  aclocal.  [ruby-core:72675] [Bug #11941]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-03 03:12:20 +00:00
normal 004bb16ccc thread_sync.c: remove unnecessary casts for queue_sleep
"Qfalse" and "(VALUE)0" are equivalent, and do not matter
for an ignored argument, either.

Additionally, there's no reason to cast the pointer to
rb_thread_sleep_deadly when we already have a queue_sleep
wrapper.

* thread_sync.c (queue_do_pop): avoid cast with Qfalse
  (rb_szqueue_push): ditto, use queue_sleep wrapper

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-02 12:08:34 +00:00
seki 32b4a8b36b Allow ERB subclass to add token easily. [Feature #11936]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-02 07:19:58 +00:00
nobu 123313e205 parse.y: use nd_tag
* parse.y (regexp): set_yylval_num sets u1, should use nd_tag
  instead of nd_state.  [ruby-core:72638] [Bug #11932]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-02 05:44:41 +00:00
naruse 9c54107903 Revert r53409 "parse.y: yylval.num should be u3"
It introduces SEGV

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-02 04:39:56 +00:00
nobu 10c2251add parse.y: yylval.num should be u3
* parse.y (set_yylval_num): should be used as nd_state, set to u3.
  [ruby-core:72638] [Bug #11932]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-02 02:11:09 +00:00
marcandre 9543908c9f * lib/ostruct.rb: Fix case of frozen object with initializer.
Bug revealed by RubySpec [ruby-core:72639]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-01 17:27:38 +00:00
kazu 428fe14f5e * NEWS: mention about CSV's liberal_parsing option.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-01 13:02:56 +00:00
hsbt b8057a5cda * ChangeLog: added missing reference for GitHub
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53405 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-01 12:39:29 +00:00
hsbt b4c1a13dcc * doc/NEWS-2.3.0: fix double words typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-01 10:39:16 +00:00
nobu 910eb9836d compile.c: adjust call_info count
* compile.c (remove_unreachable_chunk): decrease count of
  call_info in removed instructions.  fix up r53402.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53403 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-01 06:28:58 +00:00
nobu 0094737575 compile.c: remove unreferred label
* compile.c (remove_unreachable_chunk): remove unreferred label
  to optimize away unreachable chunk.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-01 03:05:55 +00:00
jeg2 f18f940802 Adding a liberal_parsing option to CSV. Patch by Braden Anderson.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-01 02:44:48 +00:00
nobu 7d9342aecd mkconfig.rb: SDKROOT
* tool/mkconfig.rb (RbConfig): prefix SDKROOT to oldincludedir
  not includedir, the latter is outside the ruby installation.
  [ruby-core:72496] [Bug #11881]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53400 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-01 01:27:30 +00:00
nobu bd5d443a56 Add test for Enumerator::Lazy#take
* test/ruby/test_lazy_enumerator.rb (test_take_bad_arg): Add test
  code in case of Enumerator::Lazy#take called with negative number.
  [ruby-dev:49467] [Bug #11933]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-31 23:53:04 +00:00
nobu b1796737cf parse.y: single-quote indented heredoc
* parse.y (parser_here_document): update indent for each line in
  indented here document with single-quotes.
  [ruby-core:72479] [Bug #11871]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-31 20:06:22 +00:00
nobu 6e5967e2ae ostruct.rb: deferred accessors
* lib/ostruct.rb (freeze): define deferred accessors before
  freezing to get rid of an error when just reading frozen
  OpenStruct.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-31 18:26:46 +00:00
marcandre 2f2a5c3ae9 * lib/ostruct.rb: Fix new_ostruct_member to correctly avoid redefinition
[#11901]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-31 05:37:21 +00:00
naruse 5da0e86396 * test/ruby/test_module.rb (test_classpath): r53376 may change
the order of m.constants.
  `make TESTS='-v ruby/test_class.rb ruby/test_module.rb' test-all`
  may fail after that.
  http://rubyci.s3.amazonaws.com/tk2-243-31075/ruby-trunk/log/20151230T164202Z.log.html.gz

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53390 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-30 17:47:43 +00:00
eregon 6ec9331c2a * common.mk (help): Fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53388 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-30 17:20:28 +00:00
hsbt 95aadb1426 * lib/net/http/responses.rb: Added new response class for 451 status code.
* lib/net/http.rb: documentation for HTTPUnavailableForLegalReasons

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-30 11:53:15 +00:00
hsbt 27f00a7a22 * lib/webrick/httpstatus.rb: Added HTTP 451 Status Code.
[fix GH-1167] Patch by @MuhammetDilmac
  https://tools.ietf.org/html/draft-tbray-http-legally-restricted-status-00

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-30 11:45:52 +00:00
hsbt 8f8f92b508 * doc/syntax/calling_methods.rdoc: fix old operator for safe navigation
operator. [ci skip][fix GH-1182] Patch by @dougo

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-30 11:26:09 +00:00
nobu f880d5dcd2 Add test for String#ord
* test/ruby/test_string.rb (test_ord): Add test for String#ord.
  [Fix GH-1181]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-30 07:43:25 +00:00
nobu 6fd18ca51b forwardable.rb: adjust backtrace by tail call
* lib/forwardable.rb (def_instance_delegator): adjust backtrace of
  method body by tail call optimization.  adjusting the delegated
  target is still done by deleting backtrace.
* lib/forwardable.rb (def_single_delegator): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53383 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-30 02:28:59 +00:00
nobu 986fb55961 Forwardable: Fix delegating to 'args' and 'block'
* lib/forwardable.rb (def_instance_delegator) fix delegating to
  'args' and 'block', clashing with local variables in generated
  methods.  [ruby-core:72579] [Bug #11916]

* lib/forwardable.rb (def_single_delegator): ditto.

If you have a class that uses Forwardable to delegate a method to
another object, and the method that returns the delegate object is
called `args` or `block`, then Forwardable will fail to work.

Here's a simple example:

    class ModelCreator
      extend Forwardable

      attr_reader :args

      def_delegator :args, :model_name

      def initialize(args)
        @args = args
      end
    end

    ModelCreator.new.model_name

If you run the last line above, then you'll get:

    NoMethodError: undefined method `model_name' for []:Array

This error occurs because `def_delegator` -- as it is written in Ruby --
uses metaprogramming to add methods to the class that will then delegate
to the delegate object. So it's as if we had written:

    class ModelCreator
      extend Forwardable

      attr_reader :args

      def model_name(*args, &block)
        args.model_name(*args, &block)
      end

      def initialize(args)
        @args = args
      end
    end

As you can see, `def_delegator` will not only forward the method call
onto the delegate object, it will also forward any arguments provided as
well. It is here that the bug arises: it splats all of the arguments
into a variable which is called `args`, and because of how variable
scope works in Ruby, it then attempts to call `model_name` on *this*
variable and *not* our delegate object method.

The fix is to call the delegate object method manually using `__send__`.
(This assumes, of course, that the given receiver is, in fact, the name
of a method and not the name of an instance variable, which is also a
possibility.) We use `__send__` because the delegate object method could
be private.

So, that looks like this:

    def model_name(*args, &block)
      __send__(:args).model_name(*args, &block)
    end

Because `def_delegators` and `delegate` use `def_delegator` internally,
they also get this fix as well.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53381 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-30 02:18:44 +00:00
nobu a974041b0e object.c: fix prepend cmp
* object.c (rb_class_inherited_p): search the corresponding
  ancestor to prepended module from prepending class itself.
  [ruby-core:72493] [Bug #11878]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-30 00:58:58 +00:00
nobu d252e224f6 test_io.rb: test for rb_io_modestr_fmode
* test/stringio/test_io.rb (test_flag): add assertion for error when
  text and binary mode are mixed.
  [ruby-dev:49465] [Feature #11921]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53379 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-30 00:20:03 +00:00
nobu 3586aef4b8 test_stringio.rb: test_initialize
* test/stringio/test_stringio.rb (test_initialize): add test for
  StringIO#initialize.  [ruby-core:72585] [Feature #11920]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53378 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-29 23:44:01 +00:00
normal 7e85d487fe ChangeLog: add entry for r53376
Oops :x
[ruby-core:72112] [Feature #11614]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-29 20:21:17 +00:00
nagachika b7573a0081 * thread_pthread.c (rb_thread_create_timer_thread): destroy attr even
if pthread_create() failed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-29 19:26:52 +00:00
normal 24c979bdea thread_pthread.c (rb_thread_create_timer_thread): fix race
This fixes an occasional [ASYNC BUG] failure in
bootstraptest/test_fork.rb '[ruby-dev:37934]'
which tests fork/pthread_create failure by setting
RLIMIT_NPROC to 1 and triggering EAGAIN on pthread_create
when attempting to recreate the timer thread.

The problem timeline is as follows:

thread 1                           thread 2
---------------------------------------------------------------
rb_thread_create_timer_thread
setup_communication_pipe
                                   rb_thread_wakeup_timer_thread_low
pthread_create fails               pipe looks valid, write!
CLOSE_INVALIDATE (x4)              EBADF -> ASYNC BUG

The checks in rb_thread_wakeup_timer_thread_low only tried to
guarantee proper ordering with native_stop_timer_thread, not
rb_thread_create_timer_thread :x

Now, this should allow rb_thread_create_timer_thread to
synchronize properly with rb_thread_wakeup_timer_thread_low by
delaying the validation marking of the timer_thread_pipe until
we are certain the timer thread is alive.

In this version, rb_thread_wakeup_timer_thread_low becomes a
noop.  Threading is still completely broken with NPROC==1, but
there's not much we can do about it beside warn the user.
We no longer spew a scary [ASYNC BUG] message or dump core
on them.

* thread_pthread.c (setup_communication_pipe): delay setting owner
  (rb_thread_create_timer_thread): until thread creation succeeds
  [ruby-core:72590] [Bug #11922]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53373 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-29 18:20:27 +00:00
nagachika 3d458cd051 * ChangeLog: remove duplicated entries at r53366.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-29 12:17:21 +00:00
nobu 66fe2c0dd9 ruby.c: command line option over RUBYOPT env
* ruby.c (proc_options): -W command line option should be able to
  override -w in RUBYOPT environment variable.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53369 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-29 10:12:48 +00:00
nobu b6b1038c6b eval.c: warn block for using
* eval.c (ignored_block): warn if a block is given to `using`,
  which is probably for `Module.new`.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53368 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-29 08:54:18 +00:00
nobu 15960b37e8 ostruct.rb: respond_to?
* lib/ostruct.rb (OpenStruct): make respond_to? working on
  just-allocated objects for workaround of Psych.
  [ruby-core:72501] [Bug #11884]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-29 03:48:36 +00:00
mrkn 88aa6abf9c * test/mkmf/test_have_func.rb (test_have_func):
Add assertion to examine the existence of HAVE_RUBY_INIT.

* test/mkmf/test_have_func.rb (test_not_have_func):
  Add assertion to examine the absence of HAVE_RUBY_INIT.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-29 01:37:20 +00:00
normal 5ad289b133 thread_sync.c: static classes
We do not want to waste space by exposing globals to other
objects.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-28 21:52:15 +00:00
normal a3b53cd991 Resolv::IPv6.create: avoid modifying frozen string literal
* lib/resolv.rb (Resolv::IPv6.create): avoid modifying frozen
* test/resolv/test_dns.rb (test_ipv6_create): test for above
  [Bug #11910] [ruby-core:72559]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-28 20:31:10 +00:00
kazu 0253189898 fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53356 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-28 07:04:01 +00:00
nobu 2eb5e09ea5 Add test for String#rstrip!
* test/ruby/test_string.rb (TestString#test_rstrip_bang): Add test
  for String#rstrip!.  [Fix GH-1176]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-28 05:56:00 +00:00
nobu 78d15f5e35 Add test for String#lstrip!
* test/ruby/test_string.rb (TestString#test_lstrip_bang): Add test
  for String#lstrip!.  [Fix GH-1176]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-28 00:18:55 +00:00
suke db8dcd1b27 * ext/win32ole/win32ole.c (ole_variant2val): refactoring.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53350 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 14:34:11 +00:00
usa 8ff043d8cb * process.c (rb_execarg_parent_start1): need to convert the encoding to
ospath's one.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53348 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 12:15:20 +00:00
usa 956100bc2e * process.c (rb_execarg_addopt): need to convert to ospath.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 12:03:45 +00:00
usa fe0194e25e * process.c: use rb_w32_uchdir() instead of plain chdir() on Windows.
reported by naruse via twitter.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53346 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 11:54:59 +00:00
hsbt 701bfa0fed * enc/x_emoji.h: fix dead-link.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53345 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 11:00:36 +00:00
hsbt de962ebbc0 * doc/NEWS-2.3.0: fix a typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53344 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 10:55:59 +00:00
nobu 2a4729a40d Fix rdoc for String#rstrip!, lstrip! [ci skip]
* string.c (rb_str_lstrip_bang, rb_str_rstrip_bang): [DOC] Fix
  ruby-doc comments for String#rstrip! and lstrip!.  It looks like
  dropped bang.  [Fix GH-1175]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53330 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 09:08:17 +00:00
normal edea151a4b IO#readpartial rejects bad args
Sometimes a sleepy developer will want to swap read_nonblock
for readpartial forget to remove "exception: false"

* io.c (io_getpartial): remove unused kwarg from template
* test/ruby/test_io.rb (test_readpartial_bad_args): new
  [Bug #11885]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 06:15:06 +00:00
nobu 509cfc4c37 Add tests for String#lstrip and rstrip
* test/ruby/test_string.rb (test_rstrip, test_lstrip): Add tests
  for String#lstrip and rstrip.  The test cases are used from
  string.c ruby-doc comments.  [Fix GH-1174]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 02:50:56 +00:00
nobu 5a75eabed5 Add test for String#test_insert.
* test/ruby/test_string.rb (test_insert): The test cases are
  written in string.c comments as a reference.  [Fix GH-1173]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 02:47:49 +00:00
nobu aaf99a7607 parse.y: show_bitstack
* parse.y (show_bitstack): trace stack_type value if yydebug.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53326 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 02:03:36 +00:00
nobu c7b2450e89 depend: version dependency
* enc/depend (enc, trans): fix version dependency, shared object
  files depend on the RUBY_SO_NAME value for runtime link.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53324 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 01:03:16 +00:00
svn d644f76008 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53323 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 00:48:25 +00:00
suke 2a16594d29 * ext/win32ole/win32ole.c (ole_vstr2wc, ole_variant2val): fix blank
string conversion. 
  [Bug #11880]
  Thanks Akio Tajima for the patch!



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53322 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 00:48:20 +00:00
nobu c7d317cc02 `nul` should be uppercase [ci skip]
* doc/extension.rdoc: [DOC] `nul` should be uppercase.
  change 'nul' => 'NUL'.  [Fix GH-1172]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53320 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 00:34:55 +00:00
naruse 5f0b598e2c Revert "* tool/post-commit.sh: copied from svn server."
manged in another repo

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53319 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-26 10:01:35 +00:00
kou 3d8e4d6037 * lib/xmlrpc/client.rb: Support SSL options in async methods of
XMLRPC::Client.
  [Bug #11489]
  Reported by Aleksandar Kostadinov. Thanks!!!


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53318 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-26 09:33:43 +00:00
naruse c0aef8ca2c * tool/post-commit.sh: copied from svn server.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53316 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-26 09:25:58 +00:00
nobu 919462710b miniinit.c: built-in encoding aliases
* miniinit.c (Init_enc): add some common aliases of built-in
  encodings.  [ruby-core:72481] [Bug #11872]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53315 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-26 02:26:40 +00:00
nobu 8c327b7f3a program version from API version
* configure.in, version.h (RUBY_PROGRAM_VERSION): extract version
  numbers from API version in include/ruby/version.h except for
  TEENY, to save matz job next year.
* win32/setup.mak (-version-): use program version.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53314 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-25 16:24:43 +00:00
nobu 63ebdd4bed version.h: RUBY_RELEASE_DATE from YMD
* configure.in: extract RUBY_RELEASE_DAY at generating Makefile.
* version.h (RUBY_RELEASE_DATE): construct from RUBY_RELEASE_YEAR,
  RUBY_RELEASE_MONTH, and RUBY_RELEASE_DAY.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53303 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-25 13:43:29 +00:00
matz fe2123f3ec version.h (RUBY_VERSION): 2.4.0 development has started.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53302 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-25 12:40:38 +00:00
normal 18318ff65f ChangeLog: typo fixes [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53301 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-25 07:49:16 +00:00
duerst 0ab9e70625 doc/CangeLog-2.3.0, ext/tk/lib/txextlib/SUPPORT_STATUS,
include/ruby/version.h: minor grammar fixes [ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53300 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-25 05:12:16 +00:00
nobu 22d8481f08 fix common misspelling [ci skip]
* compile.c, cont.c, doc, man: fix common misspelling.
  [ruby-core:72466] [Bug #11870]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-24 23:23:46 +00:00
usa 50d537a934 * ChangeLog, NEWS: added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53292 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-24 17:25:26 +00:00
usa d1a42eddce * doc/{ChangeLog,NEWS}-2.3.0: moved.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53291 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-24 17:24:57 +00:00
kazu 2fd34fa328 fix typos
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53283 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-24 14:30:13 +00:00
hsbt 5715bee4a5 * NEWS: added entry for CGI.escapeHTML optimization.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53281 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-24 14:02:02 +00:00
nobu 94090b0502 deprecate exposed internal functions
* error.c (rb_compile_error_with_enc, rb_compile_error),
  (rb_compile_bug): deprecate internal functions.
* parse.y (parser_yyerror): construct exception message with
  source code and carret.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53279 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-24 09:43:22 +00:00
nobu 26984290eb preserve source file name encoding
* compile.c (append_compile_error), parse.y (compile_error):
  preserve encoding of source file name in exceptions.
* error.c (rb_compile_error_str, rb_compile_bug_str): add.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-24 08:25:44 +00:00
naruse bec6c27fd5 * common.mk (fake.rb): $(arch)-fake.rb must depend miniruby because
it may depend miniruby.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53276 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-24 07:21:30 +00:00
naruse 026066e950 * common.mk (ripper.c): r50045 wrongly replace $(PWD) with ../..
It is the top of build directory, not topsrcdir.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53275 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-24 07:21:28 +00:00
sorah d9ec53a9c7 * tool/vcs.rb (IO.popen): Refactor. Avoid assigning in condition.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-24 06:35:49 +00:00
sorah b85a79107a * tool/file2lastrev.rb: Fix ArgumentError to work on Ruby 1.8.7.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-24 06:35:39 +00:00
sorah 53a606a549 * tool/vcs.rb (IO.popen): Enable on Ruby 1.9 where chdir option is not
supported on IO.popen

* tool/vcs.rb (IO.popen): Fix NoMethodError. I guess r49705 was not
  tested... :/

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-24 06:35:04 +00:00
ko1 43b2144254 * NEWS: rename
"Implementation changes" section to
  "Supported platform changes" section.

* NEWS: add "Implementation improvements" and add several entries.

* NEWS: add NEWS entries by Eric Wong. [ruby-core:72450]




git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53268 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-24 05:59:17 +00:00
nobu 12a2e17a34 io/console: fix gem build failure on Windows
* ext/io/console/extconf.rb: fix gem build failure on Windows.
  only win32_vk.inc is included in the gem and no dependencies for
  the header, so that gperf will not be mandatory.
  [ruby-core:72453] [Bug #11866]
* ext/io/console/io-console.gemspec: include depend file and
  win32_vk header.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53266 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-23 15:26:08 +00:00
nobu f9adadc5e6 rb_readwrite_syserr_fail
* io.c (rb_readwrite_syserr_fail): works with the given errno than
  thread local errno.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53265 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-23 14:58:47 +00:00
nobu f4166e2dd7 prefer rb_syserr_fail
* file.c, io.c, util.c: prefer rb_syserr_fail with saved errno
  over setting errno then call rb_sys_fail, not to be clobbered
  potentially and to reduce thread local errno accesses.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53264 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-23 08:57:48 +00:00
yui-knk adc0898538 * string.c: Fix document. Default value of the first
argument of `String#split` is not `$;` but `nil`.
  When `nil` is passed as first argument, `$;` is used.
  [ci skip] [Bug #11729] [ruby-dev:49378]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-23 03:02:07 +00:00
normal 1abef5bd11 ext/socket/init.c (rsock_init_sock): reject reserved FDs
[ruby-core:72445] [Bug #11862]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-22 22:28:31 +00:00
normal f4cacdc4e2 Revert r53253. naruse fixed it differently in r53244
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-22 18:20:20 +00:00
normal 5e183c7255 test/socket/test_basicsocket.rb: attempt fix for [ruby-cvs:60402]
I'm not sure how fstat on fd=-1 can succeed on some systems...

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53253 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-22 18:08:49 +00:00
nobu b9576e7d84 configure.in: define __STDC_WANT_LIB_EXT1__
* configure.in (__STDC_WANT_LIB_EXT1__): necessary to use memset_s
  in strict C99 mode.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53252 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-22 17:59:28 +00:00
nobu 9fb596815d regexec.c: fix build with direct threaded VM
* regexec.c (match_at): move direct threaded VM code to get rid of
  mixed declarations and code, and enable it only for gcc since it
  depends on a gcc extension.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-22 17:34:38 +00:00
yuki 03cc02c9ab * gems/bundled_gems: Upgrade the did_you_mean gem to 1.0.0
* NEWS: Add news about the did_you_mean gem


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53250 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-22 17:30:22 +00:00
nobu e6be17c74a Fix typo in contributing docs [ci skip]
* doc/contributing.rdoc: [DOC] remove an extra word "here".
  [Fix GH-1169]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53249 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-22 17:18:59 +00:00
nobu 6e767dd0ac regexec.c: enable direct threaded VM
* regexec.c (USE_DIRECT_THREADED_VM): enable direct threaded VM by
  the default.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53248 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-22 16:58:22 +00:00
nobu 96ac47c251 gc.c: do not expose internal singleton class
* gc.c (internal_object_p): should not expose singleton classes
  without a metaclass.  based on patches by ko1 and shugo.
  [Bug #11740]
* class.c (rb_singleton_class_object_p): added.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-22 13:15:58 +00:00
nobu 3f90a4ae1e io-console.gemspec: bump up
* ext/io/console/io-console.gemspec: bump up to 0.4.4.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-22 13:15:11 +00:00
hsbt 9d57cf8809 * NEWS: Added news entry of Psych 2.0.17
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-22 13:11:13 +00:00
hsbt a823014fed * NEWS: Added news entry of RDoc 4.2.1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-22 13:09:06 +00:00
mrkn d9bddfda03 * ext/bigdecimal/bigdecimal.gemspec: bump version to 1.2.8.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-22 12:20:28 +00:00
hsbt 145433d9a5 * lib/rdoc.rb: bump version to 4.2.1. It contains following fixes.
https://github.com/rdoc/rdoc/pull/340
  https://github.com/rdoc/rdoc/pull/341
  https://github.com/rdoc/rdoc/pull/367
  https://github.com/rdoc/rdoc/pull/368
* lib/rdoc/*: ditto.
* test/rdoc/*: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-22 12:08:13 +00:00
hsbt 618035b531 * ext/psych/lib/psych.rb: bump version to 2.0.17
* ext/psych/psych.gemspec: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-22 11:25:39 +00:00
ko1 11f4334f75 * vm_insnhelper.c: move vm_callee_setup_block_arg() (and related
functions) to the latter location.
  This moving recovers performance a little.
  [Bug #11829]




git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-22 11:20:12 +00:00
nobu 9da8a29760 string.c: no exception on dummy encoding
* string.c (str_compat_and_valid): as scrub does nothing for dummy
  encoding string now, incompatible encoding is not a matter.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-22 06:21:14 +00:00
nobu 10a129cee7 escape.c: should not freeze
* ext/cgi/escape/escape.c (optimized_escape_html): CGI.escapeHTML
  should return unfrozen new string.
  [ruby-core:72426] [Bug #11858]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-22 05:31:31 +00:00
nobu 1b107d48ef escape.c: Preserve original state
* ext/cgi/escape/escape.c (preserve_original_state): Preserve
  original state for tainted and frozen.  [Fix GH-1166]
  [ruby-dev:49451] [Bug #11855]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53233 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-21 20:40:02 +00:00
normal 409e53dec1 avoid rb_bug on BasicSocket.for_fd(-1)
* ext/socket/init.c (rsock_init_sock): check FD after validating
* test/socket/test_basicsocket.rb (test_for_fd): new
  [ruby-core:72418] [Bug #11854]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-21 18:57:50 +00:00
ngoto 3bf3f825c3 * variable.c (struct ivar_update): rename "extended" to "iv_extended"
to avoid name conflict with /usr/include/floatingpoint.h on
  Solaris. [Bug #11853] [ruby-dev:49448]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-21 12:35:29 +00:00
ko1 800607aa7e revert r53228 because this patch breaks rubyspec
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-21 10:32:33 +00:00
ko1 1bcee938d5 * gc.c (internal_object_p): should not expose singleton classes
without a metaclass.
  [Bug #11740]

* class.c (rb_singleton_class_has_metaclass_p): added.

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




git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53228 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-21 09:40:58 +00:00
hsbt a7f6b862f0 * test/ruby/test_io.rb: handled rlimit value same as r52277
[Bug #11852][ruby-dev:49446]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53227 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-21 03:15:41 +00:00
normal 268da52347 lib/net/http.rb (open_timeout): update default value in RDoc [ci skip]
[ruby-core:72413]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-21 01:24:12 +00:00
nobu cc52f511b1 vm_backtrace.c: ignore ifunc frames
* vm_backtrace.c (rb_profile_frames): ignore ifunc frames as it
  did before.  [ruby-core:72409] [Bug #11851]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-21 01:18:48 +00:00
nobu c17e9e077c NotImplementedError typo
* ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLSocket): fix
  NotImplementedError typo.  [Fix GH-1165]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-21 00:33:20 +00:00
nobu ce7f7f5e3d cgi/escape: Optimize CGI.escapeHTML
* cgi/escape/escape.c: Optimize CGI.escapeHTML for
  ASCII-compatible encodings.  [Fix GH-1164]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-20 11:54:54 +00:00
nobu 840e32c452 ChangeLog: fold long line [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-20 11:28:30 +00:00
nobu e2b226116d ChangeLog: fix date of r53178 [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-20 11:28:27 +00:00
hsbt 0516a3378f * lib/erb.rb: revert r53123. It break compatibility like thor and rspec-rails.
We should try with Ruby 2.4 or 3.0.
  [Bug #11842][ruby-core:72374]
* lib/rdoc/erb_partial.rb: ditto.
* template/verconf.h.tmpl: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-20 06:36:57 +00:00
nobu 9d5abbff97 parse.y: labeled heredoc
* parse.y (parser_yylex): allow here documents in labeled
  argument.  [ruby-core:72396] [Bug #11849]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-20 02:43:34 +00:00
ko1 a8b0c25293 * proc.c (rb_mod_define_method): should check Symbol or not.
[Bug #11850]

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




git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-20 02:14:57 +00:00
ko1 3b8730058e * proc.c (rb_mod_define_method): fix notation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-20 02:02:55 +00:00
ko1 c46ff1bb27 * proc.c (proc_new): fix notation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-20 01:54:59 +00:00
nobu ceea88af51 remove duplicated log by commit miss [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-19 15:30:41 +00:00
nobu 2d97cee4d5 proc.c: fix infinite loop
* proc.c (rb_proc_get_iseq): proc made from symbol does not have
  iseq.  fix infinite loop.  [ruby-core:72381] [Bug #11845]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53206 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-19 15:29:01 +00:00
ngoto a2bf609304 * enc/windows_1250.c: Should not use C++ style comments (C99 feature).
[Bug #11843]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-19 11:09:28 +00:00
nobu a5a9d421e7 webrick/utils.rb: get rid of thread leak checker
* lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#initialize):
  use WEBrick::Utils::TimeoutHandler::Thread, which is ignored by
  LeakChecker#find_threads, instead of ::Thread to get rid of
  thread leak checker.  since this TimeoutHandler is resident
  during tests because of Singleton, it waits for the next timeout
  if it has any schedules.  in the case of nested timeouts, inner
  timeout does not cancel outer timeouts and then those schedules
  still remain.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-19 08:16:54 +00:00
nobu 26bc97bda4 zlib.c: Fix typo [ci skip]
* ext/zlib/zlib.c (Init_zlib): [DOC] Fix double-word typo and
  grammatical error.  [Fix GH-1162]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53200 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-19 05:27:52 +00:00
nobu 0d1a243af1 csv.rb: Fix typo [ci skip
* lib/csv.rb (CSV#initialize): [DOC] Fix double-word typo.
  [Fix GH-1161]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-19 05:23:50 +00:00
duerst 6973c8d51e enc/iso_8859_2.c, enc/windows_1250.c: separate Windows-1250
from ISO-8859-2 to fix 0x80..0x9e range (from Kimihito Matsui)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53198 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-19 01:33:38 +00:00
ngoto 0967c1e3ad * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler): To prevent
potential deadlocks, Queue is used to tell update of @timeout_info
  instead of sleep and wakeup. [Bug #11742] [ruby-dev:49387]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-18 12:32:53 +00:00
ko1 9d30ef596c * compile.c (ibf_load_object_string): use fstring if frozen string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53191 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-18 08:24:29 +00:00
nobu 66cfd1310c NEWS: make precise the note of r53188
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53190 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-18 08:16:02 +00:00
shugo 34c97eaaba fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-18 08:08:08 +00:00
nobu 3e1c01ae46 stringio.c: separate encoding from buffer
* ext/stringio/stringio.c (strio_set_encoding): add StringIO's own
  encoding and separate it from the buffer string to override the
  encoding of string when reading.  [ruby-core:72189] [Bug #11827]
  note that setting the encoding of its buffer string may cause
  unpredictable behavior.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53188 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-18 07:54:33 +00:00
ko1 dd5fd65eef * compile.c (ibf_load_setup): check tainted string argument.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53187 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-18 07:51:58 +00:00
ko1 f64238e777 * vm_core.h: define USE_LAZY_LOAD if it is not defined.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53186 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-18 07:13:16 +00:00
nobu 21973c01ab stringio.c: strio_unget_bytes
* ext/stringio/stringio.c (strio_unget_bytes): extract from
  strio_ungetbyte to share with strio_ungetc.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53185 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-18 06:40:00 +00:00
hsbt 4f94cb43fc * doc/syntax/*.rdoc: separated modifier at sentence.
[ci skip][fix GH-1121] Patch by @clandry94

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53182 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-18 03:39:49 +00:00
nobu b7d1536991 stringio.c: padding in ungetbyte
* ext/stringio/stringio.c (strio_ungetbyte): pad with \000 when
  the current position is after the end.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53181 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-18 03:09:16 +00:00
shugo f211abcb9c * vm_method.c (rb_method_entry_make, check_override_opt_method):
should check whether a newly created method override a optimize
  method in case the method is defined in a prepended module of a
  built-in class.
  [ruby-core:72226] [Bug #11836]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-18 02:32:17 +00:00
kosaki 68bac3cca4 * vm.c (vm_exec): call RUBY_DTRACE_CMETHOD_RETURN_HOOK instead of
RUBY_DTRACE_METHOD_RETURN_HOOK.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53178 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-18 02:09:38 +00:00
hsbt 6f04ae5688 * lib/irb/ruby-lex.rb: fixed parse error for striped heredocument syntax.
[fix GH-1127] Patch by @koic

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53177 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-18 01:25:08 +00:00
hsbt b1a658e827 * ext/pty/pty.c: fix double words typo.
[ci skip][fix GH-1157] Patch by @jwworth

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53176 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-18 00:44:52 +00:00
hsbt 7d8290811e * ext/nkf/nkf-utf8/utf8tbl.c: fix a typo.
[ci skip][fix GH-1159] Patch by @akshay-vishnoi
* ext/nkf/nkf-utf8/utf8tbl.h: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-18 00:42:49 +00:00
shugo 0c659e26cb * vm.c (rb_vm_check_redefinition_opt_method): should check the real
class instead of the origin iclass.
  [ruby-core:72188] [Bug #11826]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-17 22:43:35 +00:00
shugo d7b2eccceb * vm_args.c (vm_caller_setup_arg_block): remove code for ifunc
because it was made unnecessary by r52138.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-17 13:15:20 +00:00
shugo 94b3c4121b * proc.c (rb_block_arity): should not call GetProcPtr() for symbols.
[ruby-core:72205] [Bug #11830]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53170 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-17 07:16:14 +00:00
nobu 61c19c9d43 string.c: infection
* string.c (rb_str_scrub): the result should be infected by the
  original string.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-17 05:16:27 +00:00
nobu eec8adb168 transcode.c: infection
* transcode.c (rb_econv_substr_append, econv_primitive_convert):
  the result should be infected by the original string.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53168 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-17 04:35:26 +00:00
nobu e64d814101 re.c: names encoding
* re.c (reg_names_iter): should consider encoding of regexp.
  [ruby-core:72185] [Bug #11825]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53167 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-17 00:46:07 +00:00
ko1 70dea9ef28 * vm.c (vm_make_env_each): should not compare with Qfalse and FALSE.
Pointed at http://d.hatena.ne.jp/nagachika/20151216/ruby_trunk_changes_53128_53163




git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16 18:56:05 +00:00
ko1 5a6c48980a * vm_insnhelper.c (vm_call_method_each_type): should not set fastpath
with keyword arguments for VM_METHOD_TYPE_ATTRSET type methods.

  Normally, we can not use keyword arguments for this kind of methods,
  (obj.foo = 1), but we can set alias names for them.
  [Bug #11657]

* test/ruby/test_keyword.rb: add a test for this fix.




git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53164 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16 18:20:29 +00:00
nagachika 3cccf032e6 * ChangeLog: fix a typo in r53149.
* NEWS: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16 14:48:09 +00:00
nagachika 79c7a51893 * ext/fiddle/handle.c: check tainted string arguments.
Patch provided by tenderlove and nobu.

* test/fiddle/test_handle.rb (class TestHandle): add test for above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16 12:08:49 +00:00
shugo ed57f299b2 * vm.c (vm_make_proc_from_block): should convert a Symbol to a Proc.
[ruby-core:72083] [Bug #11811]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16 10:35:34 +00:00
normal 653f291b66 test/ruby/test_io.rb: fix spelling errors
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16 07:25:38 +00:00
normal f12ec3fcbd NEWS: note IO#fadvise change [ruby-core:72168] [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53149 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16 07:16:00 +00:00