This is the mail archive of the cygwin-developers mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Pseudo console support in PTY



Am 03.04.2019 um 09:27 schrieb Corinna Vinschen:
On Apr  3 09:18, Thomas Wolff wrote:
Am 02.04.2019 um 19:50 schrieb Corinna Vinschen:
On Apr  2 19:16, Thomas Wolff wrote:
Am 02.04.2019 um 13:02 schrieb Corinna Vinschen:
Hi Takashi,

On Mar 30 22:08, Takashi Yano wrote:
Patch 0003: Support pseudo console in PTY. With this patch,
     native console applications can work in PTY such as mintty,
     ssh, gnu screen or tmux.
I've now tried your patched binaries on two systems. On one they don't run,
on the other I saw no noticeable effect, particularly no impact on the
pty/console interoperability...
Try starting cmd from your shell in mintty and do some native stuff.
I've now self-compiled cygwin dll on a third system and can run a cygwin
console.
But the build process did not generate the cygwin-console-helper, maybe
that's the reason why mintty does not start?
Can you give a hint that enables me to test the patch?

You'll notice two differences:

- cmd history works
In the cygwin console, it does not, echos the cursor-up escape sequence
Oh, right, ...

instead. See my previous comment that I think ConPTY should only be applied
if running at a pty. (And for other reasons only when starting a non-cygwin
app.)
but you got that wrong.  The conpty stuff *is* only applied for ptys.
So cygwin running as cygwin console still sets up a pty? Anyway, what I mean it's (assumedly) not needed in a cygwin console, which I detected in my previous winpty injection patch by !strncmp (ttyname (0), "/dev/pty", 8).

The above appears to be a fallout of the console changes to support
the Windows console changes to emulate an xterm-256color,
https://sourceware.org/git/?p=newlib-cygwin.git;a=commitdiff;h=bd627864ab41

Takashi, can you take a look?

- dir /p will actually page
Does it also translate the character set?
Test case, when running in a German UI Windows:
xcopy
echoes either of
Unzul�ssige Parameteranzahl
Unzulässige Parameteranzahl
I'm only running English systems, so I don't know.  Is that in a console or in mintty?
That's in mintty. (In a cygwin console, output is fine already as the Windows output API somehow seems to go directly to it.) You might have the same test effect with a small program like:
#include <wchar.h>
#include <windows.h>
void main() {
  wchar_t * s = u"bäh 3€\n";
  DWORD written;
  HANDLE con = GetStdHandle(STD_OUTPUT_HANDLE);
  WriteConsoleW(con, s, wcslen(s), &written, 0);
  SetConsoleTextAttribute(con, FOREGROUND_RED);
  WriteConsoleW(con, s, wcslen(s), &written, 0);
}

Further test cases:
- raw keyboard input
- signals, ^C in cmd...

Thomas


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]