summaryrefslogtreecommitdiff
path: root/lib/irb/context.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/irb/context.rb')
-rw-r--r--lib/irb/context.rb12
1 files changed, 5 insertions, 7 deletions
diff --git a/lib/irb/context.rb b/lib/irb/context.rb
index d755622f32..bf5b4c5708 100644
--- a/lib/irb/context.rb
+++ b/lib/irb/context.rb
@@ -154,8 +154,12 @@ module IRB
def save_history=(val)
IRB.conf[:SAVE_HISTORY] = val
+
if val
- (IRB.conf[:MAIN_CONTEXT] || self).init_save_history
+ context = (IRB.conf[:MAIN_CONTEXT] || self)
+ if context.io.support_history_saving? && !context.io.singleton_class.include?(HistorySavingAbility)
+ context.io.extend(HistorySavingAbility)
+ end
end
end
@@ -576,11 +580,5 @@ module IRB
command = command_aliases.fetch(command.to_sym, command)
ExtendCommandBundle.load_command(command)&.respond_to?(:transform_args)
end
-
- def init_save_history# :nodoc:
- unless (class<<@io;self;end).include?(HistorySavingAbility)
- @io.extend(HistorySavingAbility)
- end
- end
end
end