diff options
author | hogelog <[email protected]> | 2024-03-15 00:40:21 +0900 |
---|---|---|
committer | git <[email protected]> | 2024-03-14 15:40:27 +0000 |
commit | 3822ca9884e38bae0def0dc440df080ad16069ad (patch) | |
tree | 61c298c0e842a8ae2336c7ac2317a354956be669 /lib | |
parent | 83618f2cfa004accdd1514de7dcbba291aa7e831 (diff) |
[ruby/irb] Add disable_irb command to disable debug of binding.irb
(https://github.com/ruby/irb/pull/898)
* Add disable_irb command to disable debug of binding.irb
* disable_irb doesn't override Kernel.exit
Kernel.exit call is removed because disable_irb does not override Kernel.exit
and workaround to https://bugs.ruby-lang.org/issues/18234 is not needed.
https://github.com/ruby/irb/commit/29901e4f21
Diffstat (limited to 'lib')
-rw-r--r-- | lib/irb/command.rb | 7 | ||||
-rw-r--r-- | lib/irb/command/disable_irb.rb | 19 |
2 files changed, 25 insertions, 1 deletions
diff --git a/lib/irb/command.rb b/lib/irb/command.rb index 4dc2994ba9..ef93049237 100644 --- a/lib/irb/command.rb +++ b/lib/irb/command.rb @@ -196,7 +196,12 @@ module IRB # :nodoc: :irb_history, :History, "command/history", [:history, NO_OVERRIDE], [:hist, NO_OVERRIDE], - ] + ], + + [ + :irb_disable_irb, :DisableIrb, "command/disable_irb", + [:disable_irb, NO_OVERRIDE], + ], ] diff --git a/lib/irb/command/disable_irb.rb b/lib/irb/command/disable_irb.rb new file mode 100644 index 0000000000..0b00d0302b --- /dev/null +++ b/lib/irb/command/disable_irb.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module IRB + # :stopdoc: + + module Command + class DisableIrb < Base + category "IRB" + description "Disable binding.irb." + + def execute(*) + ::Binding.define_method(:irb) {} + IRB.irb_exit + end + end + end + + # :startdoc: +end |