From fd956c72eaeb07d26d61310a9e4b55b500237c02 Mon Sep 17 00:00:00 2001 From: aycabta Date: Mon, 25 Nov 2019 07:27:15 +0900 Subject: [PATCH] Cache loaded module to suppress method redefined warnings --- lib/irb/locale.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/irb/locale.rb b/lib/irb/locale.rb index b713f50e76..ba833eced4 100644 --- a/lib/irb/locale.rb +++ b/lib/irb/locale.rb @@ -21,6 +21,7 @@ module IRB # :nodoc: LOCALE_DIR = "/lc/" @@legacy_encoding_alias_map = {}.freeze + @@loaded = [] def initialize(locale = nil) @lang = @territory = @encoding_name = @modifier = nil @@ -107,7 +108,10 @@ module IRB # :nodoc: def load(file, priv=nil) found = find(file) if found - return real_load(found, priv) + unless @@loaded.include?(found) + @@loaded << found # cache + return real_load(found, priv) + end else raise LoadError, "No such file to load -- #{file}" end