зеркало из https://github.com/github/ruby.git
irb.rb: IRB::Irb#run
* lib/irb.rb (IRB::Irb#run): split from IRB.start. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56622 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
d903681a13
Коммит
5e214d40d5
|
@ -1,3 +1,7 @@
|
|||
Sun Nov 6 11:49:47 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* lib/irb.rb (IRB::Irb#run): split from IRB.start.
|
||||
|
||||
Sun Nov 6 11:45:11 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* lib/e2mmap.rb (E2MM.def_exception): remove old definition if
|
||||
|
|
34
lib/irb.rb
34
lib/irb.rb
|
@ -382,21 +382,7 @@ module IRB
|
|||
else
|
||||
irb = Irb.new
|
||||
end
|
||||
|
||||
@CONF[:IRB_RC].call(irb.context) if @CONF[:IRB_RC]
|
||||
@CONF[:MAIN_CONTEXT] = irb.context
|
||||
|
||||
trap("SIGINT") do
|
||||
irb.signal_handle
|
||||
end
|
||||
|
||||
begin
|
||||
catch(:IRB_EXIT) do
|
||||
irb.eval_input
|
||||
end
|
||||
ensure
|
||||
irb_at_exit
|
||||
end
|
||||
irb.run(@CONF)
|
||||
end
|
||||
|
||||
# Calls each event hook of IRB.conf[:AT_EXIT] when the current session quits.
|
||||
|
@ -430,6 +416,24 @@ module IRB
|
|||
@scanner = RubyLex.new
|
||||
@scanner.exception_on_syntax_error = false
|
||||
end
|
||||
|
||||
def run(conf = IRB.conf)
|
||||
conf[:IRB_RC].call(context) if conf[:IRB_RC]
|
||||
conf[:MAIN_CONTEXT] = context
|
||||
|
||||
trap("SIGINT") do
|
||||
signal_handle
|
||||
end
|
||||
|
||||
begin
|
||||
catch(:IRB_EXIT) do
|
||||
eval_input
|
||||
end
|
||||
ensure
|
||||
conf[:AT_EXIT].each{|hook| hook.call}
|
||||
end
|
||||
end
|
||||
|
||||
# Returns the current context of this irb session
|
||||
attr_reader :context
|
||||
# The lexer used by this irb session
|
||||
|
|
Загрузка…
Ссылка в новой задаче