From 09d89af071e253aba92d3d765c51a2ac47fa6cce Mon Sep 17 00:00:00 2001 From: tompng Date: Wed, 14 Aug 2024 02:54:05 +0900 Subject: [PATCH] Always use alternate sceen on alt-d --- lib/irb/input-method.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/irb/input-method.rb b/lib/irb/input-method.rb index f6b8d00e5..292fd716b 100644 --- a/lib/irb/input-method.rb +++ b/lib/irb/input-method.rb @@ -352,6 +352,10 @@ def show_doc_dialog_proc driver = input_method.rdoc_ri_driver if key.match?(dialog.name) + # easter_egg and RDoc::RI::Driver#display_names use pager internally. + # Some pager command like `more` doesn't use alternate screen + # so we need to turn on and off alternate screen manually. + print "\e[?1049h" if show_easter_egg IRB.__send__(:easter_egg) else @@ -360,6 +364,7 @@ def show_doc_dialog_proc rescue RDoc::RI::Driver::NotFoundError end end + print "\e[?1049l" end begin