From af9a151f0b381fa0413bfecc76b354de456c0c61 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 19 Jan 2017 07:18:23 +0000 Subject: [PATCH] parse.y: chomp by -l * parse.y (rb_parser_while_loop): should chomp but not chop by -l option. [ruby-core:78099] [Bug #12926] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57373 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- parse.y | 6 +++--- test/ruby/test_rubyoptions.rb | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/parse.y b/parse.y index 0a070ed4bc..07f14e5a6e 100644 --- a/parse.y +++ b/parse.y @@ -10728,7 +10728,7 @@ rb_parser_append_print(VALUE vparser, NODE *node) } NODE * -rb_parser_while_loop(VALUE vparser, NODE *node, int chop, int split) +rb_parser_while_loop(VALUE vparser, NODE *node, int chomp, int split) { NODE *prelude = 0; NODE *scope = node; @@ -10750,9 +10750,9 @@ rb_parser_while_loop(VALUE vparser, NODE *node, int chop, int split) rb_intern("split"), 0)), node); } - if (chop) { + if (chomp) { node = block_append(NEW_CALL(NEW_GVAR(idLASTLINE), - rb_intern("chop!"), 0), node); + rb_intern("chomp!"), 0), node); } node = NEW_OPT_N(node); diff --git a/test/ruby/test_rubyoptions.rb b/test/ruby/test_rubyoptions.rb index 5296768be8..7f22df6479 100644 --- a/test/ruby/test_rubyoptions.rb +++ b/test/ruby/test_rubyoptions.rb @@ -48,7 +48,7 @@ class TestRubyOptions < Test::Unit::TestCase end assert_in_out_err(%w(-p -l -a -e) + ['p [$-p, $-l, $-a]'], - "foo\nbar\nbaz\n") do |r, e| + "foo\nbar\nbaz") do |r, e| assert_equal( [ '[true, true, true]', 'foo', '[true, true, true]', 'bar', @@ -57,6 +57,7 @@ class TestRubyOptions < Test::Unit::TestCase end end + def test_warning save_rubyopt = ENV['RUBYOPT'] ENV['RUBYOPT'] = nil