merge revision(s) 38357,38363: [Backport #7325]

	* marshal.c (r_entry0): don't taint classes and modules because
	  Marshal.load just return the dumped classes and modules.
	  [Bug #7325] [ruby-core:49198]

	* test/ruby/test_marshal.rb: related test.
	  Marshal.load just returns the dumped classes and modules.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) 36593: [Backport #7407]

	* gc.c: return true or false. Patch by Dirkjan Bussink. [Bug #6821]

	* test/ruby/test_gc.rb: add test-case for this bug.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) 38039: [Backport #7408]

	* parse.y (parser_yylex): fix false usage of local variable, it cannot
	  appear in fname state [ruby-core:49659] [Bug #7408]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) 34871: [Backport #7415]

	* file.c (file_expand_path): use wcscasecmp().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) 37851: [Backport #7438]

	* io.c (argf_each_codepoint): add missing ARGF#codepoints [Bug #7438]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) 38095: [Backport #7456]

	* compile.c (ADD_CATCH_ENTRY): add a cast to fix SEGV with x64 mingw
	  on Windows 8. Without cast, 0 might be non zero value at higher bits
	  in rb_ary_new3().
	  [ruby-core:50258] [Bug #7456]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38500 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) 38134,38136: [Backport #7468]

	* gc.h (SET_MACHINE_STACK_END): add volatile for preventing
	  harmful optimization.
	  harmful optimization.  [ruby-dev:46665] [Bug #7468]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) 38211: [Backport #7516]

	* ext/dl/lib/dl/func.rb (DL::Function#bind): When Fiddle is used,
	  @ptr should be updated. This fixes SEGV raised in DL::Function#call
	  after calling DL::Function#bind. [Bug #7516] [ruby-dev:46708]

	* test/dl/test_func.rb (test_bind): test for the above


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38502 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) 37572,37622,37766,37773: [Backport #7527]

	* string.c (rb_str_crypt): crypt(3) may return NULL.
	  Latest glibc (2.16?) crypt(3) actually returns NULL. [Bug #7312]

	* test/ruby/test_m17n_comb.rb (test_str_crypt): Use RbConfig to get
	  libc's directory. Patched by Vit Ondruch [ruby-core:49763] [Bug #7312]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
[Backport #7538]

* thread.c (exec_event_hooks): exceptions in event hooks should not
  propagate outside.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) 38073,38251,38252: [Backport #7552]

	* ext/fiddle/extconf.rb, ext/fiddle/function.c
	  (Fiddle::Function::STDCALL): FFI_STDCALL is not a macro, but an
	  enumeration. [ruby-core:50398] [Bug #7483]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) 38202,38238,38324,38326: [Backport #7527]

* test/dl/test_func.rb (test_name_with_block, test_bind, test_qsort1):
  call unbind to release the callback closure because maximum number
  of callbacks is limited to DL::MAX_CALLBACK (== 5) with pure DL
  without Fiddle.

* ext/dl/lib/dl/func.rb (DL::Function#unbind, #bound?): suppress
  NoMethodError when Fiddle is available. [ruby-core:50756] [Bug #7543]
* test/dl/test_func.rb (test_bound*, test_unbind*): tests for the above.

* ext/dl/lib/dl/func.rb (DL::Function#initialize, DL::Function#bind):
  ABI should be set by using CFunc#calltype even when Fiddle is used.
  When Fiddle is used and a block is given, name shoud not be ignored.
  [ruby-core:50562] [Bug #7514]

* ext/dl/lib/dl/import.rb (DL::Importer#bind_function): should respect
  abi and name when Fiddle is used.

* test/dl/test_func.rb (test_name_with_block): test for "name" method
  with giving a block.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) 38364,38366: [Backport #7557]

	* object.c (Init_Object): use rb_mod_init_copy for Class#initialize_copy

	* class.c (rb_class_init_copy): rename to class_init_copy_check, performs type
	  checks on arguments to prevent reinitialization of initialized class
	  [ruby-core:50869] [Bug #7557]

	* class.c (rb_mod_init_copy): use class_init_copy_check if receiver is T_CLASS

	* test/ruby/test_class.rb (class TestClass): related test


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) 35924: [Backport #7587]

	installation dependencies

	* common.mk (do-install-{all,nodoc,arch}): fix installation
  dependencies so build exts also.

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