File tree 2 files changed +19
-8
lines changed
2 files changed +19
-8
lines changed Original file line number Diff line number Diff line change @@ -175,10 +175,15 @@ def close
175
175
class ReadlineInputMethod < StdioInputMethod
176
176
class << self
177
177
def initialize_readline
178
- require "readline"
179
- rescue LoadError
180
- else
181
- include ::Readline
178
+ return if defined? ( self ::Readline )
179
+
180
+ begin
181
+ require 'readline'
182
+ const_set ( :Readline , ::Readline )
183
+ rescue LoadError
184
+ const_set ( :Readline , ::Reline )
185
+ end
186
+ const_set ( :HISTORY , self ::Readline ::HISTORY )
182
187
end
183
188
end
184
189
@@ -216,8 +221,8 @@ def completion_info
216
221
def gets
217
222
Readline . input = @stdin
218
223
Readline . output = @stdout
219
- if l = readline ( @prompt , false )
220
- HISTORY . push ( l ) if !l . empty?
224
+ if l = Readline . readline ( @prompt , false )
225
+ Readline :: HISTORY . push ( l ) if !l . empty?
221
226
@line [ @line_no += 1 ] = l + "\n "
222
227
else
223
228
@eof = true
@@ -239,7 +244,7 @@ def prompting?
239
244
240
245
# For debug message
241
246
def inspect
242
- readline_impl = ( defined? ( Reline ) && Readline == Reline ) ? 'Reline' : 'ext/readline'
247
+ readline_impl = Readline == :: Reline ? 'Reline' : 'ext/readline'
243
248
str = "ReadlineInputMethod with #{ readline_impl } #{ Readline ::VERSION } "
244
249
inputrc_path = File . expand_path ( ENV [ 'INPUTRC' ] || '~/.inputrc' )
245
250
str += " and #{ inputrc_path } " if File . exist? ( inputrc_path )
Original file line number Diff line number Diff line change 1
1
# frozen_string_literal: false
2
2
require 'irb'
3
- require 'readline'
4
3
require "tempfile"
5
4
6
5
require_relative "helper"
7
6
8
7
return if RUBY_PLATFORM . match? ( /solaris|mswin|mingw/i )
9
8
10
9
module TestIRB
10
+ begin
11
+ require 'readline'
12
+ Readline = ::Readline
13
+ rescue LoadError
14
+ Readline = ::Reline
15
+ end
16
+
11
17
class HistoryTest < TestCase
12
18
def setup
13
19
@conf_backup = IRB . conf . dup
You can’t perform that action at this time.
0 commit comments