* vm_insnhelper.c (vm_call_opt_send): Kernel#send should not use
  refinements.

* proc.c (mnew): Kernel#method, Kernel#public_method,
  Module#instance_method, and Module#public_instance_method should
  not use refinements.

* vm_method.c (rb_method_boundp): Kernel#respond_to? should not use
  refinements.

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

git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@38279 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
envutil.rb: kill child

* test/ruby/envutil.rb (EnvUtil#invoke_ruby): kill the child process
  certainly.

git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@38280 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/rubygems/package.rb:  Omit directories when packaging gems like
  RubyGems 1.8.x
* test/rubygems/test_gem_package.rb:  Test for above.


git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@38281 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* 2012-12-10

git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@38282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/rubygems/ext/cmake_builder.rb:  Added a builder for cmake.
* lib/rubygems/ext.rb:  ditto.
* lib/rubygems/installer.rb:  ditto.
* test/rubygems/test_gem_ext_cmake_builder.rb:  Test for above.


git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@38283 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* properties.

git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@38284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/irb/magic-file.rb: set a encoding, which is detected from
  the file to read, to the internal encoding.
  [Bug #4281][ruby-dev:43036]

git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@38285 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
test_gem_rdoc.rb: shut up skipping warnings

* test/rubygems/test_gem_rdoc.rb (TestGemRDoc): skip method
  definitions for older rdoc and shut up obsolete warnings.


git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@38286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
KNOWNBUGS.rb: exceptions in event hooks

* KNOWNBUGS.rb: add tests for exceptions in event hooks, which were
  discarded in 1.8 but passed through in 1.9.


git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@38287 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
mkconfig.rb: newlines

* tool/mkconfig.rb: restore embedded newlines.

git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@38288 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
configure.in, mkmf.rb: sign extensions

* configure.in (codesign): check identifier at link time, not
  configure time.

* lib/mkmf.rb (LINK_SO): sign extensions too.  replace empty line with
  default command.

git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@38289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* enc/depend (link_so): prefix $(Q) for each commands.

git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@38290 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Makefile.in (LIBRUBY_SO): sign also.

git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@38291 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
compile.c, vm_insnhelper.c: flip-flop without hidden string key

* compile.c (iseq_compile_each): count flip-flop state in local iseq
  not in each iseqs, so that the keys can be other than hidden
  strings.  [ruby-core:47253] [Bug #6899]
* vm_insnhelper.c (lep_svar_get, lep_svar_set, vm_getspecial): store
  flip-flop states in an array instead of a hash.
* iseq.c (set_relation): main iseq also can has local scope.

git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@38292 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
vm_trace.c: exceptions in event hooks

* vm_trace.c (rb_threadptr_exec_event_hooks): exceptions in event
  hooks should not propagate outside.

git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@38293 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/fiddle/win32/*: library ports from DL to Fiddle.

* ext/dl/win32/extconf.rb: check fiddle.  often case dl compiled prior
  to fiddle, so this change is no meaning.  in most cases, simply
  fiddle/win32 overwrite dl/win32.


git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@38294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* properties.

git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@38295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Add debug print to debug make dist error on rubyci FreeBSD

git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@38296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_method.c (rb_method_entry_without_refinements): use
  rb_resolve_refined_method() to search superclasses if
  me->def->orig_me is 0.  This change fixes make test-all
  TESTS="json ruby/test_refinement.rb".

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

git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@38297 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix the behavior when a module is included into a refinement.
  This change is a little tricky, so it might be better to prohibit
  module inclusion to refinements.

* include/ruby/ruby.h (RMODULE_INCLUDED_INTO_REFINEMENT): new flag
  to represent that a module (iclass) is included into a refinement.

* class.c (include_modules_at): set RMODULE_INCLUDED_INTO_REFINEMENT
  if klass is a refinement.

* eval.c (rb_mod_refine): set the superclass of a refinement to the
  refined class for super.

* eval.c (rb_using_refinement): skip the above superclass (the
  refined class) when creating iclasses for refinements.  Otherwise,
  `using Refinement1; using Refinement2' creates iclasses:
  <Refinement2> -> <RefinedClass> -> <Refinement1> -> RefinedClass,
  where <Module> is an iclass for Module, so RefinedClass is
  searched before Refinement1.  The correct iclasses should be
  <Refinement2> -> <Refinement1> -> RefinedClass.

* vm_insnhelper.c (vm_search_normal_superclass): if klass is an
  iclass for a refinement, use the refinement's superclass instead
  of the iclass's superclass.  Otherwise, multiple refinements are
  searched by super.  For example, if a refinement Refinement2
  includes a module M (i.e., Refinement2 -> <M> -> RefinedClass,
  and if refinements iclasses are <Refinement2> -> <M>' ->
  <Refinement1> -> RefinedClass, then super in <Refinement2> should
  use Refinement2's superclass <M> instead of <Refinement2>'s
  superclass <M>'.

* vm_insnhelper.c (vm_search_super_method): do not raise a
  NotImplementError if current_defind_class is a module included
  into a refinement.  Because of the change of
  vm_search_normal_superclass(), the receiver might not be an
  instance of the module('s iclass).

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

git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@38298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e