From 203d7743d8d3c49efbb338667469efb99d6901d0 Mon Sep 17 00:00:00 2001 From: Gord Pearson Date: Fri, 3 Jul 2026 14:44:38 -0400 Subject: [PATCH] Ensure `noecho`, etc are grafted onto `BlockingInput` --- lib/cli/ui/stdout_router.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/cli/ui/stdout_router.rb b/lib/cli/ui/stdout_router.rb index b06f26d0..20f8144b 100644 --- a/lib/cli/ui/stdout_router.rb +++ b/lib/cli/ui/stdout_router.rb @@ -2,6 +2,10 @@ # frozen_string_literal: true require 'stringio' +# Required eagerly because `BlockingInput` snapshots`IO.instance_methods` at +# class-load; `io/console` must have grafted its terminal-mode methods (noecho, +# raw, ...) onto IO by then so they get delegated to the wrapped stream. +require 'io/console' require_relative '../../../vendor/reentrant_mutex' module CLI