From: cardoso_tiago@... Date: 2016-07-07T15:52:50+00:00 Subject: [ruby-core:76295] [Ruby trunk Bug#12566] IO.copy_stream : tty/command-line events not being passed around Issue #12566 has been updated by Tiago Cardoso.
$stdin.raw!You can close, found the solution. ---------------------------------------- Bug #12566: IO.copy_stream : tty/command-line events not being passed around https://bugs.ruby-lang.org/issues/12566#change-59537 * Author: Tiago Cardoso * Status: Open * Priority: Normal * Assignee: * ruby -v: * Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN ---------------------------------------- Coming from here: http://stackoverflow.com/questions/38248911/ruby-when-copying-streams-how-to-make-it-pass-input-characters I don't know if the stdin is not flushing the special characters down the stack, or the leaf process stdout is not flushing upwards, but something is fishy in this:
#!/usr/bin/env
require 'open3'
Open3.popen3("expect -") do |i, o, e, t|
Thread.start { IO.copy_stream(o, $stdout) }
Thread.start { IO.copy_stream(e, $stderr) }
i << "spawn bash\ninteract\nwait\nexit\n"
Thread.start { IO.copy_stream($stdin, i) }
t.value
end
#=> after executing, try "ls" and press tab
--
https://bugs.ruby-lang.org/
Unsubscribe: