summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorStan Lo <[email protected]>2024-02-01 16:19:03 +0000
committergit <[email protected]>2024-02-01 16:19:07 +0000
commitf36c61d27fcdc47d4aa34e8a3b52590aac08bb69 (patch)
tree11547196afabbf59a4038ce5a2906f1e98ae2ef8 /lib
parent6ad585bd68af55cbf111ea9b2b44244c8a75e1cd (diff)
[ruby/irb] Reset history counter even when @loaded_history_lines is
not defined (https://github.com/ruby/irb/pull/853) The issue (https://github.com/ruby/debug/issues/1064) is caused by a combination of factors: 1. When user starts an IRB session without a history file, the `@loaded_history_lines` ivar is not defined. 2. If the user then starts the `irb:rdbg` session, the history counter is not set, because the `@loaded_history_lines` is not defined. 3. Because `irb:rdbg` saves the history before passing Ruby expression to the debugger, it saves the history with duplicated lines. The number grows in exponential order. 4. When the user exits the `irb:rdbg` session, the history file could be bloated with duplicated lines. This commit fixes the issue by resetting the history counter even when `@loaded_history_lines` is not defined. https://github.com/ruby/irb/commit/4afc98c258
Diffstat (limited to 'lib')
-rw-r--r--lib/irb/history.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/irb/history.rb b/lib/irb/history.rb
index 50fe1ce229..90aa9f0bcf 100644
--- a/lib/irb/history.rb
+++ b/lib/irb/history.rb
@@ -5,7 +5,7 @@ module IRB
end
def reset_history_counter
- @loaded_history_lines = self.class::HISTORY.size if defined? @loaded_history_lines
+ @loaded_history_lines = self.class::HISTORY.size
end
def load_history