* complex.c (nucomp_marshal_load): [ruby-core:45394]
	* rational.c (nurat_marshal_load): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
	* complex.c: wrote Complex#_dump and Complex::load.  But now
	  disabled (due to compatibility) [experimental].

	* rational.c: wrote Rational#_dump and Rational::load. ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
	* ext/date/date_core.c: checks whether the object is frozen or not.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
now marshal_{load|dump} are external.


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


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
use rb_marshal_{dump,load}

* marshal.c: revert r35879 "now marshal_{load|dump} are external."
* complex.c (nucomp_marshal__{dump,load}): should use rb_marshal_{dump,load}.
* rational.c (nurat_marshal__{dump,load}): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* use execve() to preserve environment variables when exec method is
  failed.  [ruby-core:44093] [ruby-trunk - Bug #6249]

* include/ruby/intern.h (rb_exec_arg): add envp_str and envp_buf field
  to store envp of execve().

* process.c (proc_exec_v): takes envp_str as an argument and use it
  for execve().
  (rb_proc_exec_ne): extended version of rb_proc_exec_n().
  (rb_proc_exec_n): use rb_proc_exec_ne().
  (rb_proc_exec): follow proc_exec_v() change.
  (fill_envp_buf_i): new function.
  (rb_exec_arg_fixup): set up envp_str and envp_buf.
  (save_env_i): removed.
  (save_env): removed.
  (rb_run_exec_options_err): don't modify environment variables.
  (rb_exec_err): use rb_proc_exec_ne().



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread.c (vm_living_thread_num): suppress a warning.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* process.c (rb_proc_exec_e): extended version of rb_proc_exec() to
  call execle().
  (rb_proc_exec): use rb_proc_exec_e().
  (rb_exec_err): use rb_proc_exec_e().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* process.c (rb_check_argv): use rb_str_new_frozen instead of
  rb_str_new4.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
	* marshal.c: calls directly rb_{Complex,Rational}_marshal_load().
	  But now disabled. [experimental]
	* complex.c: followed the above.
	* rational.c: ditto.
	* include/rub/intern.h: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* process.c (rb_exec_getargs): remove rb_exec_arg argument.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* GPL: update text of GPLv2. [ruby-core:44488] [Bug #6328]
  http://www.gnu.org/licenses/gpl-2.0.txt

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* include/ruby/intern.h (rb_exec_arg): remove argc and argv fields.
  add use_shell, argv_str and argv_buf fields.

* process.c (rb_proc_exec_e): don't split shell command line arguments
  here to avoid memory allocation in a child process.
  (rb_exec_fillarg): split shell command line arguments here.
  (proc_exec_v): takes argv_str argument instead of argv.
  (rb_proc_exec_ne): removed.
  (rb_proc_exec_n): removed.
  (rb_run_exec_options_err): don't initialize the removed fields.
  (rb_exec_err): don't initialize the removed fields.
  call proc_exec_v directly instead of rb_proc_exec_ne.
  (rb_spawn_process): use use_shell field.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* process.c (rb_proc_exec_e): don't use ISSPACE().  \f, \r and \v
  are not word separator in Bourne shell.


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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35891 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* process.c (rb_spawn_process): fix for Windows.  not tested.


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