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

28304 Коммитов

Автор SHA1 Сообщение Дата
hsbt 203e604f46 * common.mk: test-sample was changed to test-basic.
[Feature #11982][ruby-core:72823]
* basictest/runner.rb: ditto. rename from tool/rubytest.rb.
* basictest/test.rb: ditto. rename from sample/test.rb.
* defs/gmake.mk: picked from r53540
* sample/test.rb: backword compatibility for chkbuild.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-16 01:37:47 +00:00
duerst be897c2507 * string.c, enc/unicode.c: New code path as a preparation for Unicode-wide
case mapping. The code path is currently guarded by the :lithuanian
  option to avoid accidental problems in daily use.
* test/ruby/enc/test_case_mapping.rb: Test for above.
* string.c: function 'check_case_options': fixed logical errors

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53548 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-16 01:24:03 +00:00
ngoto 5df321fb1d * regint.h (PLATFORM_UNALIGNED_WORD_ACCESS): The value of
UNALIGNED_WORD_ACCESS should be used to determine whether
  unaligned word access is allowed or not. After this commit,
  ./configure CPPFLAGS="-DUNALIGNED_WORD_ACCESS=0" disables
  unaligned word access even on platforms that support the feature.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53543 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-15 11:25:29 +00:00
naruse e0ea641755 Revert "* common.mk: test-sample was changed to test-basic."
This reverts r53537.
Fix chkbuild first.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53542 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-15 11:05:51 +00:00
nobu 0d75b7f99e parse.y: should not deent concatenated string
* parse.y (string1): reset heredoc indent fore each string leteral
  so that concatenated string would not be dedented.
  [ruby-core:72857] [Bug #11990]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-15 07:12:46 +00:00
hsbt 17238bce22 * common.mk: test-sample was changed to test-basic.
[Feature #11982][ruby-core:72823]
* basictest/runner.rb: ditto. rename from tool/rubytest.rb.
* basictest/test.rb: ditto. rename from sample/test.rb.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-15 00:25:46 +00:00
naruse aa90e3b859 * lib/uri/generic.rb (URI::Generic#to_s): change encoding to
UTF-8 as Ruby 2.2/ by Koichi ITO <koic.ito@gmail.com>
  https://github.com/ruby/ruby/pull/1188 fix GH-1188

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-14 11:20:24 +00:00
nobu 92e803c9c8 variable.c: matched backrefs only
* variable.c (rb_f_global_variables): add matched back references
  only, as well as defiend? operator.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-14 08:36:49 +00:00
nobu 1301d1f5bc sprintf.c: exact number
* sprintf.c (rb_str_format): format exact number more exactly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-14 07:12:42 +00:00
hsbt 55cb1b5e70 * Remove 512-bit DH group. It's affected by LogJam Attack.
https://weakdh.org/
  [fix GH-1196][Bug #11968][ruby-core:72766]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-14 06:09:19 +00:00
nobu 7e825eeefc variable.c: $1..$9 in global_variables
* variable.c (rb_f_global_variables): add $1..$9 only if $~ is
  set.  fix the condition removed at r14014.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53530 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-14 02:45:03 +00:00
hsbt 7cb5b7dd23 * .travis.yml: removed commented-out code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-13 08:22:18 +00:00
hsbt 6cea22b5d6 * .travis.yml: removed osx code. follow up with r53517
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-13 08:15:39 +00:00
nobu 22121544e1 iseq.c: mark parent iseq
* iseq.c (rb_iseq_mark): mark parent iseq to prevent dynamically
  generated iseq by eval from GC.  [ruby-core:72620] [Bug #11928]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-13 07:56:51 +00:00
normal 244916d43b resolve class name earlier and more consistently
This further avoids class name resolution issues which came
about due to relying on hash table ordering before r53376.

Pre-caching the class name when it is never used raises memory
use, but the overall gain from moving away from st still gives
us a small gain.  Reverting r53376 and this patch and testing with
"valgrind -v ./ruby -rrdoc -eexit" on x86 (32-bit) shows:

before:
    in use at exit: 1,662,239 bytes in 25,286 blocks
  total heap usage: 49,514 allocs, 24,228 frees, 6,005,561 bytes allocated

after, with this change:
    in use at exit: 1,646,529 bytes in 24,572 blocks
  total heap usage: 48,891 allocs, 24,319 frees, 6,003,921 bytes allocated

* class.c (Init_class_hierarchy): resolve name for rb_cObject ASAP
* object.c (rb_mod_const_set): move name resolution to rb_const_set
* variable.c (rb_const_set): do class resolution here
  [ruby-core:72807] [Bug #11977]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-12 19:26:07 +00:00
nobu 05f1caa1cf Fix typo [ci skip]
* man/ruby.1: fix double word typo.  [Fix GH-1194]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-12 15:37:42 +00:00
nobu 1b39a6e539 iseq.c: mark parents of wrapped iseq
* iseq.c (iseqw_mark): as wrapped iseq is isolated from the call
  stack, it needs to take care of its parent and ancestors, so
  that they do not become orphans.  [ruby-core:72620] [Bug #11928]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53514 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-12 15:17:19 +00:00
eregon 9efd4dbe73 * common.mk: update URL and name for the Ruby spec suite.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53513 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-12 12:05:41 +00:00
sorah 09cb46b921 correction to proper word
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-12 11:23:05 +00:00
sorah f425e0fc2b * lib/forwardable.rb: Convert given accessors to String.
r53381 changed to accept only Symbol or String for accessors, but
  there are several rubygems that pass classes (e.g. Array,
  Hash, ...) as accessors. Prior r53381, it was accepted because Class#to_s
  returns its class name. After r53381 given accessors are checked
  with define_method, but it accepts only Symbol or String, otherwise
  raises TypeError.

      def_delegator Foo, :some_method

  This change is to revert unwanted incompatibility. But this behavior
  may change in the future.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-12 11:19:25 +00:00
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