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: