From 967333d1ddaee3ae6c814553909ad787daf6f12d Mon Sep 17 00:00:00 2001 From: tompng Date: Mon, 13 Oct 2025 02:43:59 +0900 Subject: [PATCH] Reset IOGate.set_winch_handler when dancing ruby easter-egg terminates --- lib/irb/easter-egg.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/irb/easter-egg.rb b/lib/irb/easter-egg.rb index 07b6137be..bf00765eb 100644 --- a/lib/irb/easter-egg.rb +++ b/lib/irb/easter-egg.rb @@ -121,6 +121,7 @@ def render_frame(i) interrupted = false prev_trap = trap("SIGINT") { interrupted = true } canvas = Canvas.new(Reline.get_screen_size) + otio = Reline::IOGate.prep Reline::IOGate.set_winch_handler do canvas = Canvas.new(Reline.get_screen_size) end @@ -139,6 +140,7 @@ def render_frame(i) end rescue Interrupt ensure + Reline::IOGate.deprep(otio) print "\e[?25h" # show cursor trap("SIGINT", prev_trap) end