Hi Corinna, On Sun, 31 Mar 2019 16:36:51 +0200 Corinna Vinschen rote: > This hunk is ok, but I wonder if the time hasn't come to simplify the > original code. The `static char NO_COPY' only makes marginal sense > since it's strdup'ed anyway. > > What if we just define two const char's like this > > const char cygterm[] = "TERM=cygwin"; > const char xterm[] = "TERM=xterm-256color"; > > and then just strdup them conditionally: > > if (!sawTERM) > envp[i++] = strdup (wincap.has_con_24bit_colors () ? xterm : > cygterm); > > What do you think?
> Sorry, didn't notice this before: Please prepend this block with > a comment along the lines of "/* Not yet defined in Mingw-w64 */" Adopted. > Doesn't this belong into the select patch? Actually, no. This makes select() recognize Ctrl-space, but is just tentative. Patch 0002 overwrites this fix. This is corresponding to: > @@ -435,7 +451,8 @@ fhandler_console::read (void *pv, size_t& buflen) > toadd = tmp; > } > /* Allow Ctrl-Space to emit ^@ */ > - else if (input_rec.Event.KeyEvent.wVirtualKeyCode == VK_SPACE > + else if (input_rec.Event.KeyEvent.wVirtualKeyCode > + == (wincap.has_con_24bit_colors () ? '2' : VK_SPACE) > && (ctrl_key_state & CTRL_PRESSED) > && !(ctrl_key_state & ALT_PRESSED)) > toadd = ""; Takashi Yano (3): Cygwin: console: support 24 bit color Cygwin: console: fix select() behaviour Cygwin: console: Make I/O functions thread-safe winsup/cygwin/environ.cc | 7 +- winsup/cygwin/fhandler.h | 34 +- winsup/cygwin/fhandler_console.cc | 1154 +++++++++++++++++++---------- winsup/cygwin/select.cc | 90 +-- winsup/cygwin/wincap.cc | 10 + winsup/cygwin/wincap.h | 2 + 6 files changed, 840 insertions(+), 457 deletions(-) -- 2.17.0