Skip to content
  • nagachika's avatar
    82031fa8
    merge revision(s) 61149,61150,61151,61167: [Backport #14162] · 82031fa8
    nagachika authored
    	irb.rb: preserve ARGV on binding.irb
    
    	This is not perfectly good solution (at least we don't want to have ARGV
    	as default value of `argv` argument), but unfortunately IRB.setup and
    	IRB.parse_opts are public methods and we can't make breaking change to
    	those methods.
    
    	We may deprecate using them and then make them private in the future,
    	but the removal should not be in Ruby 2.5. So I kept their interface for
    	now.
    
    	[Bug #14162] [close GH-1770]
    
    	* properties.
    
    	irb/init.rb: make sure ARGV refers to toplevel one
    
    	irb/test_init.rb: add test to ensure $0
    
    	is not changed.
    
    	At first `ARGV.unshift('something')` was suggested for r61149,
    	but it wasn't sufficient because it modifies $0.
    
    	Not only to preserve ARGV, but also r61149 intends to preserve $0.
    	This test prevents future breakage of the behavior.
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@62185 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    82031fa8
    merge revision(s) 61149,61150,61151,61167: [Backport #14162]
    nagachika authored
    	irb.rb: preserve ARGV on binding.irb
    
    	This is not perfectly good solution (at least we don't want to have ARGV
    	as default value of `argv` argument), but unfortunately IRB.setup and
    	IRB.parse_opts are public methods and we can't make breaking change to
    	those methods.
    
    	We may deprecate using them and then make them private in the future,
    	but the removal should not be in Ruby 2.5. So I kept their interface for
    	now.
    
    	[Bug #14162] [close GH-1770]
    
    	* properties.
    
    	irb/init.rb: make sure ARGV refers to toplevel one
    
    	irb/test_init.rb: add test to ensure $0
    
    	is not changed.
    
    	At first `ARGV.unshift('something')` was suggested for r61149,
    	but it wasn't sufficient because it modifies $0.
    
    	Not only to preserve ARGV, but also r61149 intends to preserve $0.
    	This test prevents future breakage of the behavior.
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@62185 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Loading