ruby-changes:16197
From: nobu <ko1@a...>
Date: Sat, 5 Jun 2010 09:57:43 +0900 (JST)
Subject: [ruby-changes:16197] Ruby:r28161 (trunk, ruby_1_9_2): * ruby.c (process_options): revert r25330, so that $0 can be seen
nobu 2010-06-05 09:57:02 +0900 (Sat, 05 Jun 2010) New Revision: 28161 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=28161 Log: * ruby.c (process_options): revert r25330, so that $0 can be seen from required libraries by -r option. [ruby-core:23717] Modified files: branches/ruby_1_9_2/ChangeLog branches/ruby_1_9_2/ruby.c branches/ruby_1_9_2/test/ruby/test_rubyoptions.rb branches/ruby_1_9_2/vm.c trunk/ChangeLog trunk/ruby.c trunk/test/ruby/test_rubyoptions.rb trunk/vm.c Index: ChangeLog =================================================================== --- ChangeLog (revision 28160) +++ ChangeLog (revision 28161) @@ -1,3 +1,8 @@ +Sat Jun 5 09:56:57 2010 Nobuyoshi Nakada <nobu@r...> + + * ruby.c (process_options): revert r25330, so that $0 can be seen + from required libraries by -r option. [ruby-core:23717] + Sat Jun 5 08:30:42 2010 Nobuyoshi Nakada <nobu@r...> * file.c (rb_f_test): 'W' should test writable by real uid/git, Index: vm.c =================================================================== --- vm.c (revision 28160) +++ vm.c (revision 28161) @@ -761,8 +761,14 @@ VALUE *aryp = arg; VALUE bt; - bt = rb_enc_sprintf(rb_enc_compatible(file, name), "%s:%d:in `%s'", - RSTRING_PTR(file), line_no, RSTRING_PTR(name)); + if (line_no) { + bt = rb_enc_sprintf(rb_enc_compatible(file, name), "%s:%d:in `%s'", + RSTRING_PTR(file), line_no, RSTRING_PTR(name)); + } + else { + bt = rb_enc_sprintf(rb_enc_compatible(file, name), "%s:in `%s'", + RSTRING_PTR(file), RSTRING_PTR(name)); + } rb_ary_push(*aryp, bt); return 0; } Index: ruby.c =================================================================== --- ruby.c (revision 28160) +++ ruby.c (revision 28161) @@ -1356,6 +1356,8 @@ } } ruby_init_gems(!(opt->disable & DISABLE_BIT(gems))); + rb_progname = opt->script_name; + rb_vm_set_progname(rb_progname); ruby_set_argv(argc, argv); process_sflag(&opt->sflag); @@ -1400,8 +1402,6 @@ tree = load_file(parser, opt->script, 1, opt); }); } - rb_progname = opt->script_name; - rb_vm_set_progname(rb_progname); if (opt->dump & DUMP_BIT(yydebug)) return Qtrue; if (opt->ext.enc.index >= 0) { Index: test/ruby/test_rubyoptions.rb =================================================================== --- test/ruby/test_rubyoptions.rb (revision 28160) +++ test/ruby/test_rubyoptions.rb (revision 28161) @@ -319,10 +319,11 @@ def test_notfound notexist = "./notexist.rb" rubybin = Regexp.quote(EnvUtil.rubybin) - pat = /\A#{rubybin}:.* -- #{Regexp.quote(notexist)} \(LoadError\)\Z/ + pat = Regexp.quote(notexist) + bug1573 = '[ruby-core:23717]' assert_equal(false, File.exist?(notexist)) - assert_in_out_err(["-r", notexist, "-ep"], "", [], pat) - assert_in_out_err([notexist], "", [], pat) + assert_in_out_err(["-r", notexist, "-ep"], "", [], /\A-e:.* -- #{pat} \(LoadError\)\Z/, bug1573) + assert_in_out_err([notexist], "", [], /\A#{pat}:.* -- #{pat} \(LoadError\)\Z/, bug1573) end def test_program_name Index: ruby_1_9_2/ChangeLog =================================================================== --- ruby_1_9_2/ChangeLog (revision 28160) +++ ruby_1_9_2/ChangeLog (revision 28161) @@ -1,3 +1,8 @@ +Sat Jun 5 09:56:57 2010 Nobuyoshi Nakada <nobu@r...> + + * ruby.c (process_options): revert r25330, so that $0 can be seen + from required libraries by -r option. [ruby-core:23717] + Sat Jun 5 08:30:42 2010 Nobuyoshi Nakada <nobu@r...> * file.c (rb_f_test): 'W' should test writable by real uid/git, Index: ruby_1_9_2/vm.c =================================================================== --- ruby_1_9_2/vm.c (revision 28160) +++ ruby_1_9_2/vm.c (revision 28161) @@ -761,8 +761,14 @@ VALUE *aryp = arg; VALUE bt; - bt = rb_enc_sprintf(rb_enc_compatible(file, name), "%s:%d:in `%s'", - RSTRING_PTR(file), line_no, RSTRING_PTR(name)); + if (line_no) { + bt = rb_enc_sprintf(rb_enc_compatible(file, name), "%s:%d:in `%s'", + RSTRING_PTR(file), line_no, RSTRING_PTR(name)); + } + else { + bt = rb_enc_sprintf(rb_enc_compatible(file, name), "%s:in `%s'", + RSTRING_PTR(file), RSTRING_PTR(name)); + } rb_ary_push(*aryp, bt); return 0; } Index: ruby_1_9_2/ruby.c =================================================================== --- ruby_1_9_2/ruby.c (revision 28160) +++ ruby_1_9_2/ruby.c (revision 28161) @@ -1353,6 +1353,8 @@ } } ruby_init_gems(!(opt->disable & DISABLE_BIT(gems))); + rb_progname = opt->script_name; + rb_vm_set_progname(rb_progname); ruby_set_argv(argc, argv); process_sflag(&opt->sflag); @@ -1397,8 +1399,6 @@ tree = load_file(parser, opt->script, 1, opt); }); } - rb_progname = opt->script_name; - rb_vm_set_progname(rb_progname); if (opt->dump & DUMP_BIT(yydebug)) return Qtrue; if (opt->ext.enc.index >= 0) { Index: ruby_1_9_2/test/ruby/test_rubyoptions.rb =================================================================== --- ruby_1_9_2/test/ruby/test_rubyoptions.rb (revision 28160) +++ ruby_1_9_2/test/ruby/test_rubyoptions.rb (revision 28161) @@ -319,10 +319,11 @@ def test_notfound notexist = "./notexist.rb" rubybin = Regexp.quote(EnvUtil.rubybin) - pat = /\A#{rubybin}:.* -- #{Regexp.quote(notexist)} \(LoadError\)\Z/ + pat = Regexp.quote(notexist) + bug1573 = '[ruby-core:23717]' assert_equal(false, File.exist?(notexist)) - assert_in_out_err(["-r", notexist, "-ep"], "", [], pat) - assert_in_out_err([notexist], "", [], pat) + assert_in_out_err(["-r", notexist, "-ep"], "", [], /\A-e:.* -- #{pat} \(LoadError\)\Z/, bug1573) + assert_in_out_err([notexist], "", [], /\A#{pat}:.* -- #{pat} \(LoadError\)\Z/, bug1573) end def test_program_name -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/