[前][次][番号順一覧][スレッド一覧]

ruby-changes:6587

From: nobu <ko1@a...>
Date: Thu, 17 Jul 2008 13:13:58 +0900 (JST)
Subject: [ruby-changes:6587] Ruby:r18103 (mvm): * ruby.c (process_options): set script_name directly and translate

nobu	2008-07-17 13:13:41 +0900 (Thu, 17 Jul 2008)

  New Revision: 18103

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=18103

  Log:
    * ruby.c (process_options): set script_name directly and translate
      before frozen.
    
    * ruby.c (set_arg0): now setter of VM specific variable is called for
      the pointer instead of the key.

  Modified files:
    branches/mvm/ChangeLog
    branches/mvm/ruby.c

Index: mvm/ChangeLog
===================================================================
--- mvm/ChangeLog	(revision 18102)
+++ mvm/ChangeLog	(revision 18103)
@@ -1,3 +1,11 @@
+Thu Jul 17 13:13:37 2008  Nobuyoshi Nakada  <nobu@r...>
+
+	* ruby.c (process_options): set script_name directly and translate
+	  before frozen.
+
+	* ruby.c (set_arg0): now setter of VM specific variable is called for
+	  the pointer instead of the key.
+
 Thu Jul 17 06:09:48 2008  Nobuyoshi Nakada  <nobu@r...>
 
 	* dir.c (get_cwd_fd): support for platforms which has fchdir but no
Index: mvm/ruby.c
===================================================================
--- mvm/ruby.c	(revision 18102)
+++ mvm/ruby.c	(revision 18103)
@@ -1062,11 +1062,12 @@
 	}
     }
 
-    ruby_script(opt->script);
+    opt->script_name = rb_tainted_str_new2(opt->script);
+    *rb_vm_specific_ptr(rb_vmkey_progname) = opt->script_name;
 #if defined DOSISH || defined __CYGWIN__
-    translate_char(RSTRING_PTR(*ruby_vm_specific_ptr(vm, rb_vmkey_progname)), '\\', '/');
+    translate_char(RSTRING_PTR(opt->script_name), '\\', '/');
 #endif
-    opt->script_name = rb_str_new4(*ruby_vm_specific_ptr(vm, rb_vmkey_progname));
+    OBJ_FREEZE(opt->script_name);
     opt->script = RSTRING_PTR(opt->script_name);
     ruby_vm_set_argv(vm, argc, argv);
     process_sflag(vm, opt);
@@ -1395,10 +1396,9 @@
 	}
     }
 #endif
-    *rb_vm_specific_ptr((int)var) = rb_obj_freeze(rb_tainted_str_new(s, i));
+    *var = rb_obj_freeze(rb_tainted_str_new(s, i));
 }
 
-DEPRECATED(void ruby_script(const char *name));
 void
 ruby_script(const char *name)
 {

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]