From 1263c05561636fa0b2cf91cf1de9befe2c4fad6a Mon Sep 17 00:00:00 2001 From: Andrei Bocan Date: Sun, 22 May 2011 18:03:02 +0300 Subject: [PATCH] Fix whitespace for lib/irb.rb --- lib/irb.rb | 289 ++++++++++++++++++++++++++++++------------------------------ 1 files changed, 144 insertions(+), 145 deletions(-) diff --git a/lib/irb.rb b/lib/irb.rb index d3bab89..8a3d9de 100644 --- a/lib/irb.rb +++ b/lib/irb.rb @@ -1,8 +1,8 @@ # # irb.rb - irb main module -# $Release Version: 0.9.6 $ -# $Revision$ -# by Keiju ISHITSUKA(keiju@ruby-lang.org) +# $Release Version: 0.9.6 $ +# $Revision$ +# by Keiju ISHITSUKA(keiju@ruby-lang.org) # # -- # @@ -67,7 +67,7 @@ module IRB begin catch(:IRB_EXIT) do - irb.eval_input + irb.eval_input end ensure irb_at_exit @@ -107,100 +107,99 @@ module IRB attr_accessor :scanner def eval_input - @scanner.set_prompt do - |ltype, indent, continue, line_no| - if ltype - f = @context.prompt_s - elsif continue - f = @context.prompt_c - elsif indent > 0 - f = @context.prompt_n - else - f = @context.prompt_i - end - f = "" unless f - if @context.prompting? - @context.io.prompt = p = prompt(f, ltype, indent, line_no) - else - @context.io.prompt = p = "" - end - if @context.auto_indent_mode - unless ltype + @scanner.set_prompt do |ltype, indent, continue, line_no| + if ltype + f = @context.prompt_s + elsif continue + f = @context.prompt_c + elsif indent > 0 + f = @context.prompt_n + else + f = @context.prompt_i + end + f = "" unless f + if @context.prompting? + @context.io.prompt = p = prompt(f, ltype, indent, line_no) + else + @context.io.prompt = p = "" + end + if @context.auto_indent_mode + unless ltype ind = prompt(@context.prompt_i, ltype, indent, line_no)[/.*\z/].size + - indent * 2 - p.size - ind += 2 if continue - @context.io.prompt = p + " " * ind if ind > 0 - end - end + indent * 2 - p.size + ind += 2 if continue + @context.io.prompt = p + " " * ind if ind > 0 + end + end end @scanner.set_input(@context.io) do - signal_status(:IN_INPUT) do - if l = @context.io.gets - print l if @context.verbose? - else - if @context.ignore_eof? and @context.io.readable_atfer_eof? - l = "\n" - if @context.verbose? - printf "Use \"exit\" to leave %s\n", @context.ap_name - end - else - print "\n" - end - end - l - end + signal_status(:IN_INPUT) do + if l = @context.io.gets + print l if @context.verbose? + else + if @context.ignore_eof? and @context.io.readable_atfer_eof? + l = "\n" + if @context.verbose? + printf "Use \"exit\" to leave %s\n", @context.ap_name + end + else + print "\n" + end + end + l + end end @scanner.each_top_level_statement do |line, line_no| - signal_status(:IN_EVAL) do - begin + signal_status(:IN_EVAL) do + begin line.untaint - @context.evaluate(line, line_no) - output_value if @context.echo? - exc = nil - rescue Interrupt => exc - rescue SystemExit, SignalException - raise - rescue Exception => exc - end - if exc - print exc.class, ": ", exc, "\n" - if exc.backtrace[0] =~ /irb(2)?(\/.*|-.*|\.rb)?:/ && exc.class.to_s !~ /^IRB/ && + @context.evaluate(line, line_no) + output_value if @context.echo? + exc = nil + rescue Interrupt => exc + rescue SystemExit, SignalException + raise + rescue Exception => exc + end + if exc + print exc.class, ": ", exc, "\n" + if exc.backtrace[0] =~ /irb(2)?(\/.*|-.*|\.rb)?:/ && exc.class.to_s !~ /^IRB/ && !(SyntaxError === exc) - irb_bug = true - else - irb_bug = false - end - - messages = [] - lasts = [] - levels = 0 - for m in exc.backtrace - m = @context.workspace.filter_backtrace(m) unless irb_bug - if m - if messages.size < @context.back_trace_limit - messages.push "\tfrom "+m - else - lasts.push "\tfrom "+m - if lasts.size > @context.back_trace_limit - lasts.shift - levels += 1 - end - end - end - end - print messages.join("\n"), "\n" - unless lasts.empty? - printf "... %d levels...\n", levels if levels > 0 - print lasts.join("\n") - end - print "Maybe IRB bug!\n" if irb_bug - end + irb_bug = true + else + irb_bug = false + end + + messages = [] + lasts = [] + levels = 0 + for m in exc.backtrace + m = @context.workspace.filter_backtrace(m) unless irb_bug + if m + if messages.size < @context.back_trace_limit + messages.push "\tfrom "+m + else + lasts.push "\tfrom "+m + if lasts.size > @context.back_trace_limit + lasts.shift + levels += 1 + end + end + end + end + print messages.join("\n"), "\n" + unless lasts.empty? + printf "... %d levels...\n", levels if levels > 0 + print lasts.join("\n") + end + print "Maybe IRB bug!\n" if irb_bug + end if $SAFE > 2 abort "Error: irb does not work for $SAFE level higher than 2" end - end + end end end @@ -208,19 +207,19 @@ module IRB @context.irb_path, back_path = path, @context.irb_path if path @context.irb_name, back_name = name, @context.irb_name if name begin - yield back_path, back_name + yield back_path, back_name ensure - @context.irb_path = back_path if path - @context.irb_name = back_name if name + @context.irb_path = back_path if path + @context.irb_name = back_name if name end end def suspend_workspace(workspace) @context.workspace, back_workspace = workspace, @context.workspace begin - yield back_workspace + yield back_workspace ensure - @context.workspace = back_workspace + @context.workspace = back_workspace end end @@ -228,39 +227,39 @@ module IRB back_io = @context.io @context.instance_eval{@io = input_method} begin - yield back_io + yield back_io ensure - @context.instance_eval{@io = back_io} + @context.instance_eval{@io = back_io} end end def suspend_context(context) @context, back_context = context, @context begin - yield back_context + yield back_context ensure - @context = back_context + @context = back_context end end def signal_handle unless @context.ignore_sigint? - print "\nabort!\n" if @context.verbose? - exit + print "\nabort!\n" if @context.verbose? + exit end case @signal_status when :IN_INPUT - print "^C\n" - raise RubyLex::TerminateLineInput + print "^C\n" + raise RubyLex::TerminateLineInput when :IN_EVAL - IRB.irb_abort(self) + IRB.irb_abort(self) when :IN_LOAD - IRB.irb_abort(self, LoadAbort) + IRB.irb_abort(self, LoadAbort) when :IN_IRB - # ignore + # ignore else - # ignore other cases as well + # ignore other cases as well end end @@ -270,39 +269,39 @@ module IRB signal_status_back = @signal_status @signal_status = status begin - yield + yield ensure - @signal_status = signal_status_back + @signal_status = signal_status_back end end def prompt(prompt, ltype, indent, line_no) p = prompt.dup p.gsub!(/%([0-9]+)?([a-zA-Z])/) do - case $2 - when "N" - @context.irb_name - when "m" - @context.main.to_s - when "M" - @context.main.inspect - when "l" - ltype - when "i" - if $1 - format("%" + $1 + "d", indent) - else - indent.to_s - end - when "n" - if $1 - format("%" + $1 + "d", line_no) - else - line_no.to_s - end - when "%" - "%" - end + case $2 + when "N" + @context.irb_name + when "m" + @context.main.to_s + when "M" + @context.main.inspect + when "l" + ltype + when "i" + if $1 + format("%" + $1 + "d", indent) + else + indent.to_s + end + when "n" + if $1 + format("%" + $1 + "d", line_no) + else + line_no.to_s + end + when "%" + "%" + end end p end @@ -314,14 +313,14 @@ module IRB def inspect ary = [] for iv in instance_variables - case (iv = iv.to_s) - when "@signal_status" - ary.push format("%s=:%s", iv, @signal_status.id2name) - when "@context" - ary.push format("%s=%s", iv, eval(iv).__to_s__) - else - ary.push format("%s=%s", iv, eval(iv)) - end + case (iv = iv.to_s) + when "@signal_status" + ary.push format("%s=:%s", iv, @signal_status.id2name) + when "@context" + ary.push format("%s=%s", iv, eval(iv).__to_s__) + else + ary.push format("%s=%s", iv, eval(iv)) + end end format("#<%s: %s>", self.class, ary.join(", ")) end @@ -335,16 +334,16 @@ module IRB for k, v in sort{|a1, a2| a1[0].id2name <=> a2[0].id2name} case k when :MAIN_CONTEXT, :__TMP__EHV__ - array.push format("CONF[:%s]=...myself...", k.id2name) + array.push format("CONF[:%s]=...myself...", k.id2name) when :PROMPT - s = v.collect{ - |kk, vv| - ss = vv.collect{|kkk, vvv| ":#{kkk.id2name}=>#{vvv.inspect}"} - format(":%s=>{%s}", kk.id2name, ss.join(", ")) - } - array.push format("CONF[:%s]={%s}", k.id2name, s.join(", ")) + s = v.collect{ + |kk, vv| + ss = vv.collect{|kkk, vvv| ":#{kkk.id2name}=>#{vvv.inspect}"} + format(":%s=>{%s}", kk.id2name, ss.join(", ")) + } + array.push format("CONF[:%s]={%s}", k.id2name, s.join(", ")) else - array.push format("CONF[:%s]=%s", k.id2name, v.inspect) + array.push format("CONF[:%s]=%s", k.id2name, v.inspect) end end array.join("\n") -- 1.7.4.1