summaryrefslogtreecommitdiff
path: root/lib/irb/extend-command.rb
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2020-12-20 18:25:39 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2020-12-20 18:26:38 +0900
commitfeea436febb50eb4265bd985a550e384c606122c (patch)
tree1acf7c2490eea2a0bf6ca6a237e0a1dcb7f49dba /lib/irb/extend-command.rb
parent0fad9a9e30d3dd362d9567284284206e1a476920 (diff)
irb: Define extension command only on the given object
Not to interfer in class variables.
Diffstat (limited to 'lib/irb/extend-command.rb')
-rw-r--r--lib/irb/extend-command.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/irb/extend-command.rb b/lib/irb/extend-command.rb
index 55e7b3e0e6..02b7869569 100644
--- a/lib/irb/extend-command.rb
+++ b/lib/irb/extend-command.rb
@@ -177,8 +177,8 @@ module IRB # :nodoc:
args << "&block"
args = args.join(", ")
line = __LINE__; eval %[
- unless self.class.class_variable_defined?(:@@#{cmd_name}_)
- self.class.class_variable_set(:@@#{cmd_name}_, true)
+ unless self.singleton_class.class_variable_defined?(:@@#{cmd_name}_)
+ self.singleton_class.class_variable_set(:@@#{cmd_name}_, true)
def #{cmd_name}_(\#{args})
ExtendCommand::#{cmd_class}.execute(irb_context, \#{args})
end