irb 1.7.3 → 1.7.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c2a6b9078ea3fdbc051de74cf073657fe864a7e4094b68298a408179148f6c13
4
- data.tar.gz: 9f0f6e81955f1c0fa34819bc28e82fee343d286b72984160f71a1709a6820d7e
3
+ metadata.gz: ea4ae752c3ffee02c55d78d1da5032244d6c9574fc8a7e64bcd4d0798e89b619
4
+ data.tar.gz: 24eb6d55d8c1fdead9230a92d3f70016936ccbe99a69bdef60de9d68108e0336
5
5
  SHA512:
6
- metadata.gz: dc2c47f28a408d0751b62b5da054b3e340d2dba56ce3b3d1fedd2708a3f649f6a31b2c8d5e85a50d81ad8cf8e648c084354da0c0379b7976058e5a82eee839a7
7
- data.tar.gz: 1bf46c2cc017987a81c2c16c18bb1b83d16cc8fab9eaf2e04e33532dd8e8d9a722d03ba1df406988d4b87b7679896af2ac27cb3659cddb55c6fa00b4f02ac94f
6
+ metadata.gz: 3aec5c7c99c1dc58ed3f427cd6ef397c1310b1b43f42923999d6dc7b12b6d9334af6660c7cc1cd2b0d1b8b3b5a6411d5e85bad84513a8230688924850f48819c
7
+ data.tar.gz: e54020f1e5c7a777905d0218fcf1a1634acfe89fe9a64a27199154bbda4557b3af0b43444d2e36d5d124021783092ffe089df3ead84da45c053879cc7a5d5a1d
data/lib/irb/context.rb CHANGED
@@ -154,8 +154,12 @@ module IRB
154
154
 
155
155
  def save_history=(val)
156
156
  IRB.conf[:SAVE_HISTORY] = val
157
+
157
158
  if val
158
- (IRB.conf[:MAIN_CONTEXT] || self).init_save_history
159
+ context = (IRB.conf[:MAIN_CONTEXT] || self)
160
+ if context.io.support_history_saving? && !context.io.singleton_class.include?(HistorySavingAbility)
161
+ context.io.extend(HistorySavingAbility)
162
+ end
159
163
  end
160
164
  end
161
165
 
@@ -576,11 +580,5 @@ module IRB
576
580
  command = command_aliases.fetch(command.to_sym, command)
577
581
  ExtendCommandBundle.load_command(command)&.respond_to?(:transform_args)
578
582
  end
579
-
580
- def init_save_history# :nodoc:
581
- unless (class<<@io;self;end).include?(HistorySavingAbility)
582
- @io.extend(HistorySavingAbility)
583
- end
584
- end
585
583
  end
586
584
  end
data/lib/irb/history.rb CHANGED
@@ -7,7 +7,6 @@ module IRB
7
7
  end
8
8
 
9
9
  def load_history
10
- return unless self.class.const_defined?(:HISTORY)
11
10
  history = self.class::HISTORY
12
11
  if history_file = IRB.conf[:HISTORY_FILE]
13
12
  history_file = File.expand_path(history_file)
@@ -31,7 +30,6 @@ module IRB
31
30
  end
32
31
 
33
32
  def save_history
34
- return unless self.class.const_defined?(:HISTORY)
35
33
  history = self.class::HISTORY
36
34
  if num = IRB.conf[:SAVE_HISTORY] and (num = num.to_i) != 0
37
35
  if history_file = IRB.conf[:HISTORY_FILE]
@@ -46,6 +46,10 @@ module IRB
46
46
  false
47
47
  end
48
48
 
49
+ def support_history_saving?
50
+ false
51
+ end
52
+
49
53
  # For debug message
50
54
  def inspect
51
55
  'Abstract InputMethod'
@@ -229,6 +233,10 @@ module IRB
229
233
  true
230
234
  end
231
235
 
236
+ def support_history_saving?
237
+ true
238
+ end
239
+
232
240
  # Returns the current line number for #io.
233
241
  #
234
242
  # #line counts the number of times #gets is called.
@@ -255,6 +263,7 @@ module IRB
255
263
  end
256
264
 
257
265
  class RelineInputMethod < InputMethod
266
+ HISTORY = Reline::HISTORY
258
267
  # Creates a new input method object using Reline
259
268
  def initialize
260
269
  IRB.__send__(:set_encoding, Reline.encoding_system_needs.name, override: false)
@@ -457,6 +466,10 @@ module IRB
457
466
  str += " and #{inputrc_path}" if File.exist?(inputrc_path)
458
467
  str
459
468
  end
469
+
470
+ def support_history_saving?
471
+ true
472
+ end
460
473
  end
461
474
 
462
475
  class ReidlineInputMethod < RelineInputMethod
data/lib/irb/version.rb CHANGED
@@ -5,7 +5,7 @@
5
5
  #
6
6
 
7
7
  module IRB # :nodoc:
8
- VERSION = "1.7.3"
8
+ VERSION = "1.7.4"
9
9
  @RELEASE_VERSION = VERSION
10
- @LAST_UPDATE_DATE = "2023-07-12"
10
+ @LAST_UPDATE_DATE = "2023-07-15"
11
11
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: irb
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.3
4
+ version: 1.7.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - aycabta
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2023-07-13 00:00:00.000000000 Z
12
+ date: 2023-07-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: reline