[ruby-cvs:69366] nagachika:r62185 (ruby_2_4): merge revision(s) 61149, 61150, 61151, 61167: [Backport #14162]

nagachika at ruby-lang.org nagachika at ruby-lang.org
Sun Feb 4 09:39:24 JST 2018


nagachika	2018-02-04 09:39:24 +0900 (Sun, 04 Feb 2018)

  New Revision: 62185

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=62185

  Log:
    merge revision(s) 61149,61150,61151,61167: [Backport #14162]
    
    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.

  Added files:
    branches/ruby_2_4/test/irb/test_init.rb
  Modified directories:
    branches/ruby_2_4/
  Modified files:
    branches/ruby_2_4/lib/irb/init.rb
    branches/ruby_2_4/lib/irb.rb
    branches/ruby_2_4/version.h


More information about the ruby-cvs mailing list