class.c: do not freeze meta-meta-class

* class.c (rb_freeze_singleton_class): should not propagate to
  meta-meta-class, and so on, which is shared with the original
  class.  fix occational exceptions.

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

* error.c (rb_error_frozen_object): preserve encoding of class
  name in error message.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
test_math.rb: use Float#infinite?

* test/ruby/test_math.rb (TestMath#assert_infinity): Float#finite?
  returns true also for NaN, so use Float#infinite? instead.
  [ruby-core:65117] [Feature #10261]

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

* include/ruby/ruby.h (rb_check_safe_str, Check_SafeStr): show
  error message to update for obsolete function and macro.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47636 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
class.c: do not freeze class of hidden object

* class.c (rb_freeze_singleton_class): get rid of freeze class of
  hidden object to fix segfaults.

* include/ruby/ruby.h (rb_obj_freeze_inline): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47637 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
README.EXT: utf-8 string functions

* README.EXT (String Functions): rb_utf8_str_new() and
  rb_utf8_str_new_cstr().

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

* string.c (rb_str_new_static): create string object with static
  buffer.  incorporated from mruby.

* string.c (rb_{usascii,utf8,enc}_str_new_static): ditto with
  encodings.

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

* include/ruby/intern.h (rb_str_new_literal): make ruby string
  from literal C-string.  incorporated from mruby.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/win32.c (VCSUP): nothing to do if this worktree is not under
  any VCS (it means that the worktree may be from the release package).


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

* win32/Makefile.sub: fix typo, replace "ekse" with "else".

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47642 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
symbol.c: fix dynamic attrset ID

* symbol.c (rb_str_dynamic_intern): check if the stem ID of
  attrset ID is already registered as a static ID.
  [ruby-dev:48559] [Bug #10259]

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


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
vm_eval.c: fix super from eval with scope

* vm_eval.c (eval_string_with_cref): fix super from eval with
  scope.  set klass in the current control frame to the class of
  the receiver in the context to be evaluated, this class/module
  must match the actual receiver to call super.
  [ruby-core:65122] [Bug #10263]

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/openssl/lib/openssl/x509.rb (OpenSSL::X509::Name#pretty_print):
  New method.
  (OpenSSL::X509::Certificate#pretty_print): Ditto.

* ext/openssl/lib/openssl/bn.rb (OpenSSL::BN#pretty_print): Ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
compile.c: store IDs as Symbols

* compile.c (iseq_set_arguments): store local variable IDs in
  temporary list as Symbols.  previously these are stored as
  Fixnums to prevent from GC, but IDs of dynamic symbols can
  exceed Fixnum range and cause RangeError at inverting from
  Fixnum.  [ruby-dev:48564] [Bug #10266]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
parse.y: quoted ID key

* parse.y (assoc): allow quoted ID as a key of a hash literal.
  [ruby-core:34453] [Feature #4276]

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

* NEWS (Language changes): add quoted symbol keys.  [Feature #4276]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .travis.yml: added new configurations for osx on travis ci.
  [fix GH-723]
* test/ruby/test_object.rb: tweaked to memory leak limit for osx build.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* enum.c (enum_slice_when): New method: Enumerable#slice_when.
  (slicewhen_i): New function.
  (slicewhen_ii): New function.

* enumerator.c (InitVM_Enumerator): New method:
  Enumerator::Lazy#slice_when.

  [ruby-core:62499] [Feature #9826]



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