зеркало из 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>
|
Sun Nov 6 11:45:11 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
* lib/e2mmap.rb (E2MM.def_exception): remove old definition if
|
* 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
|
else
|
||||||
irb = Irb.new
|
irb = Irb.new
|
||||||
end
|
end
|
||||||
|
irb.run(@CONF)
|
||||||
@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
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# Calls each event hook of IRB.conf[:AT_EXIT] when the current session quits.
|
# Calls each event hook of IRB.conf[:AT_EXIT] when the current session quits.
|
||||||
|
@ -430,6 +416,24 @@ module IRB
|
||||||
@scanner = RubyLex.new
|
@scanner = RubyLex.new
|
||||||
@scanner.exception_on_syntax_error = false
|
@scanner.exception_on_syntax_error = false
|
||||||
end
|
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
|
# Returns the current context of this irb session
|
||||||
attr_reader :context
|
attr_reader :context
|
||||||
# The lexer used by this irb session
|
# The lexer used by this irb session
|
||||||
|
|
Загрузка…
Ссылка в новой задаче