* test/ruby/test_fiber.rb: remove a strange single quote character.
  With this character, this script exits by SyntaxError.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm.c: support variable VM/Machine stack sizes.
  Specified by the following environment variaables:
  - RUBY_THREAD_VM_STACK_SIZE: vm stack size used at thread creation.
  default: 128KB (32bit CPU) or 256KB (64bit CPU).
  - RUBY_THREAD_MACHINE_STACK_SIZE: machine stack size used at thread
  creation. default: 512KB or 1024KB.
  - RUBY_FIBER_VM_STACK_SIZE: vm stack size used at fiber creation.
  default: 64KB or 128KB.
  - RUBY_FIBER_MACHINE_STACK_SIZE: machine stack size used at fiber
  creation. default: 256KB or 256KB.
  This values are specified at launched timing. You can not change
  these values at running time.
  Environ variables are only *hints* because:
  - They are aligned to 4KB.
  - They have minimum values (depend on OSs).
  - Machine stack settings are ignored by some OSs.
  Default values especially fiber stack sizes are increased.
  This change affect Fiber's behavior:
  (1) You can run more complex program on a Fiber.
  (2) You can not make many (thousands) Fibers because of
  lack of address space (on 32bit CPU).
  If (2) bothers you,
  (a) Use 64bit CPU with big memory, or
  (b) Specify RUBY_FIBER_(VM|MACHINE)_STACK_SIZE correctly.
  You need to choose correct stack size carefully. These values
  are completely rely on systems (OS/compiler and so on).
* vm_core.h (rb_vm_t::default_params): add to record above settings.
* vm.c (RubyVM::DEFAULT_PARAMS): add new constant to see
  above setting.
* thread_pthread.c: support RUBY_THREAD_MACHINE_STACK_SIZE.
* cont.c: support RUBY_FIBER_(VM|MACHINE)_STACK_SIZE.
* test/ruby/test_fiber.rb: add tests for above.
* test/ruby/test_thread.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38478 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
add ticket number

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/openssl/ossl.c: add OpenSSL.fips_mode= to allow enabling FIPS
  mode manually.
* test/openssl/utils.rb: turn off FIPS mode for tests. This prevents
  OpenSSL installations with FIPS mode enabled by default from raising
  FIPS-related errors during the tests.
* test/openssl/test_fips.rb: add tests for FIPS-capable OpenSSL
  installations.
  [Feature #6946] [ruby-core:47345]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* properties.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38481 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/openssl/test_pkey_dh.rb: revert special treatment of
  FIPS-capable installations since FIPS mode is now disabled for the
  tests.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* remove trailing spaces.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
vm.c: fix format

* vm.c (get_param): fix format specifier for size_t.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
envutil.rb: validate syntax

* test/ruby/envutil.rb (assert_valid_syntax): move from
  test_syntax.rb.
* test/ruby/envutil.rb (assert_normal_exit): validate syntax before
  running because this assertion passes even if the code fails by
  SyntaxError.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
test_require.rb: clear load path

* test/ruby/test_require.rb (test_require_invalid_shared_object),
  (test_require_too_long_filename, test_require_changed_current_dir),
  (test_require_not_modified_load_path, test_require_changed_home),
  (test_require_to_path_redefined_in_load_path),
  (test_require_to_str_redefined_in_load_path),
  (assert_require_with_shared_array_modified): clear preset load path
  so that unexpected files will not get loaded.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/rdoc/markup/to_html.rb (class RDoc):  Added current heading and
  top links to headings.
* lib/rdoc/generator/template/darkfish/rdoc.css:  ditto
* test/rdoc/test_rdoc_generator_markup.rb:  Test for above
* test/rdoc/test_rdoc_markup_to_html.rb:  ditto

* test/rdoc/test_rdoc_comment.rb:  Removed trailing whitespace.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/openssl/ossl_cipher.c: add support for Authenticated Encryption
  with Associated Data (AEAD) for OpenSSL versions that support the
  GCM encryption mode. It's the only mode supported for now by OpenSSL
  itself. Add Cipher#authenticated? to detect whether a chosen mode
  does support Authenticated Encryption.
* test/openssl/test_cipher.rb: add tests for Authenticated Encryption.
  [Feature #6980] [ruby-core:47426] Thank you, Stephen Touset for
  providing a patch!



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* remove trailing spaces.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38489 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/rdoc/parser/ruby.rb:  Ignore methods defined on constants to
  prevent modules with the names of constants from appearing in the
  documentation.
* test/rdoc/test_rdoc_parser_ruby.rb:  Test for the above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/openssl/ossl.c: do not use FIPS_mode_set if not available.
* test/openssl/utils.rb: revise comment about setting FIPS mode to
  false.
* test/openssl/test_fips.rb: remove tests that cause errors on
  ruby-ci.
  [Feature #6946] [ruby-core:47345]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/openssl/ossl_cipher.c: fix errors for installations that do not
  feature Authenticated Encryption.
* ext/openssl/extconf.rb: detect presence of EVP_CTRL_GCM_GET_TAG to
  determine whether Authenticated Encryption can be used.
  [Feature #6980] [ruby-core:47426]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c (nonspecial_obj_id): VALUE is not compatible with Fixnum on
  LLP64 platform, such as 64bit Windows.
  reporeted by Heesob Park at [ruby-core:50255] [Bug #7454], and the
  fix is suggested by akr.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* NEWS: announce AEAD encryption support in the OpenSSL extension.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38494 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_core.h (rb_vm_defineclass_type_t),
  compile.c (iseq_compile_each), insns.def (defineclass): change the
  meaning of the third operand of defineclass as follows:
    lower 3bits: the type of the defineclass
                   0 = class, 1 = singleton class, 2 = module
    4th bit: a flag represents whether the defineclass is scoped
               0 = not scoped (e.g., class Foo)
	       1 = scoped (e.g., class Bar::Baz)
    5th bit: a flag represents whether the superclass is specified
               0 = not specified (e.g., class Foo)
               1 = specified (e.g., class Bar < Foo)
  If the superclass is specified and is not a class, a TypeError
  should be raised.  [ruby-dev:46747] [Bug #7572]

* test/ruby/test_class.rb: related test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* NEWS: fix the description for Refinements.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38496 b2dd03c8-39d4-4d8f-98ff-823fe69b080e