summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorkeiju <keiju@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-07-29 07:18:34 +0000
committerkeiju <keiju@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-07-29 07:18:34 +0000
commit85e1bda8ff811190b54a457151b6b72a2dfa369d (patch)
tree6d3ecfdca36a6139571ed3cd4779e8a5e0e30f19 /lib
parentef66762dc3dc6eef042da3aa241cfd58629fdcdb (diff)
downloadruby-85e1bda8ff811190b54a457151b6b72a2dfa369d.tar.gz
ruby-85e1bda8ff811190b54a457151b6b72a2dfa369d.tar.xz
ruby-85e1bda8ff811190b54a457151b6b72a2dfa369d.zip
* lib/irb/context.rb: fix `irb --readline` option. [ruby-dev:40955]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@8866 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r--lib/irb/context.rb20
1 files changed, 16 insertions, 4 deletions
diff --git a/lib/irb/context.rb b/lib/irb/context.rb
index 043c12ade..d01bd4aef 100644
--- a/lib/irb/context.rb
+++ b/lib/irb/context.rb
@@ -58,12 +58,24 @@ module IRB
case input_method
when nil
- if (defined?(ReadlineInputMethod) &&
- (use_readline? || IRB.conf[:PROMPT_MODE] != :INF_RUBY && STDIN.tty?))
- @io = ReadlineInputMethod.new
- else
+ case use_readline?
+ when nil
+ if (defined?(ReadlineInputMethod) && STDIN.tty? &&
+ IRB.conf[:PROMPT_MODE] != :INF_RUBY)
+ @io = ReadlineInputMethod.new
+ else
+ @io = StdioInputMethod.new
+ end
+ when false
@io = StdioInputMethod.new
+ when true
+ if defined?(ReadlineInputMethod)
+ @io = ReadlineInputMethod.new
+ else
+ @io = StdioInputMethod.new
+ end
end
+
when String
@io = FileInputMethod.new(input_method)
@irb_name = File.basename(input_method)