ruby-changes:6430
From: usa <ko1@a...>
Date: Tue, 8 Jul 2008 00:35:00 +0900 (JST)
Subject: [ruby-changes:6430] Ruby:r17946 (win32-unicode-test): * ruby.c (process_options): re-set e_script.
usa 2008-07-08 00:34:43 +0900 (Tue, 08 Jul 2008)
New Revision: 17946
Modified files:
branches/win32-unicode-test/ChangeLog
branches/win32-unicode-test/ruby.c
Log:
* ruby.c (process_options): re-set e_script.
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=17946
Index: win32-unicode-test/ChangeLog
===================================================================
--- win32-unicode-test/ChangeLog (revision 17945)
+++ win32-unicode-test/ChangeLog (revision 17946)
@@ -1,3 +1,7 @@
+Tue Jul 8 00:33:46 2008 NAKAMURA Usaku <usa@r...>
+
+ * ruby.c (process_options): re-set e_script.
+
Tue Jul 8 00:03:20 2008 NAKAMURA Usaku <usa@r...>
* win32/win32.c, include/win32/win32.c (rb_w32_parse_cmndline): new
Index: win32-unicode-test/ruby.c
===================================================================
--- win32-unicode-test/ruby.c (revision 17945)
+++ win32-unicode-test/ruby.c (revision 17946)
@@ -90,6 +90,7 @@
const char *script;
VALUE script_name;
VALUE e_script;
+ VALUE e_script_pos;
struct {
struct {
VALUE name;
@@ -719,9 +720,11 @@
opt->e_script = rb_str_new(0, 0);
if (opt->script == 0)
opt->script = "-e";
+ opt->e_script_pos = rb_ary_new();
}
rb_str_cat2(opt->e_script, s);
rb_str_cat2(opt->e_script, "\n");
+ rb_ary_push(opt->e_script_pos, INT2FIX(argc0 - argc));
break;
case 'r':
@@ -1100,6 +1103,15 @@
rb_enc_set_default_external(rb_enc_from_encoding(enc));
#ifdef _WIN32
if ((argc = rb_w32_parse_cmdline(&argv, rb_enc_name(enc))) != 0) {
+ if (opt->e_script && opt->e_script_pos) {
+ opt->e_script = rb_str_new(0, 0);
+ for (i = 0; i < RARRAY_LEN(opt->e_script_pos); ++i) {
+ int pos = FIX2INT(RARRAY_PTR(opt->e_script_pos)[i]);
+ rb_enc_str_buf_cat(opt->e_script, argv[pos], strlen(argv[pos]),
+ enc);
+ rb_str_cat2(opt->e_script, "\n");
+ }
+ }
argc -= opnum;
argv += opnum;
ruby_set_argv(argc, argv);
--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/