You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
bash -> powershell -> bash doesn't show symbols when typing #484
I think what's happening is that System.Console (used in PowerShell's readline functionality) turns off the echo TTY mode, and bash doesn't explicitly turn it on (and Vim likely does).
To fix this, I think we'd have to eliminate all uses of Console.ReadKey() from our readline implementation.
George Fleming (@palladia) The CoreFX team would like to help us fix this bug, but would like a repro outside of PowerShell, which means writing a small console app and debugging the problem at least to the point of repro'ing in a new program.
It should involve just using Console.ReadKey() and starting a process, though you may have to see if PowerShell does something non-default when launching a native process.
Andy Jordan (@andschwa) I may have something...Take a look at \scratch2\geflem\echo_test\Program.cs, and read the comments. I still haven't quite figure out why bash is not displaying the prompt, but try this: If "string cmdToExecute = ReadALine()" is uncommented, compile, run, and type "/bin/bash" in first line, and "dir" in second line. Note that "dir" is not echoed. Type "exit" to exit. Now, comment out that line, and uncomment "string cmdToExecute = "/bin/bash". Build, run, and type "dir", and note that it's echoed correctly.
Activity
andyleejordan commentedon Feb 4, 2016
I think what's happening is that
System.Console(used in PowerShell's readline functionality) turns off the echo TTY mode, and bash doesn't explicitly turn it on (and Vim likely does).To fix this, I think we'd have to eliminate all uses of
Console.ReadKey()from our readline implementation.andyleejordan commentedon Feb 4, 2016
Yeah that's definitely what's going on. If, after you've opened Bash, you execute
stty echo, your characters will then be displayed as expected.vors commentedon Feb 4, 2016
cool, thanks for the workaround :)
andyleejordan commentedon Feb 4, 2016
Reported to .NET: dotnet/corefx#5902.
andyleejordan commentedon Feb 8, 2016
George Fleming (@palladia) The CoreFX team would like to help us fix this bug, but would like a repro outside of PowerShell, which means writing a small console app and debugging the problem at least to the point of repro'ing in a new program.
It should involve just using
Console.ReadKey()and starting a process, though you may have to see if PowerShell does something non-default when launching a native process.palladia commentedon Feb 10, 2016
Andy Jordan (@andschwa) I may have something...Take a look at \scratch2\geflem\echo_test\Program.cs, and read the comments. I still haven't quite figure out why bash is not displaying the prompt, but try this: If "string cmdToExecute = ReadALine()" is uncommented, compile, run, and type "/bin/bash" in first line, and "dir" in second line. Note that "dir" is not echoed. Type "exit" to exit. Now, comment out that line, and uncomment "string cmdToExecute = "/bin/bash". Build, run, and type "dir", and note that it's echoed correctly.
Let me know if you can/can't repro this.
andyleejordan commentedon Feb 10, 2016
It's not displaying it because the
echoTTY mode gets disabled byConsole.ReadKey().Sounds like you're on the right track to repro though, will take a look soon. Is that in a branch or a repo somewhere?
andyleejordan commentedon Feb 11, 2016
Awesome, Gist shared to .NET team.
andyleejordan commentedon Feb 27, 2016
Fix in CoreFX is incoming courtesy of Stephen, will test and update when available.
andyleejordan commentedon Mar 1, 2016
Fixed in dotnet/corefx#6488; waiting on packages.