debrew: restore ARGV even when IRB.setup raises

This commit is contained in:
Jack Nagel 2013-02-07 22:31:05 -06:00
parent faa066b109
commit d547102253

View File

@ -6,9 +6,12 @@ module IRB
def IRB.start_within(binding)
unless @setup_done
# make IRB ignore our command line arguments
saved_args = ARGV.shift(ARGV.size)
IRB.setup(nil)
ARGV.concat(saved_args)
begin
saved_args = ARGV.shift(ARGV.size)
IRB.setup(nil)
ensure
ARGV.replace(saved_args)
end
@setup_done = true
end