> Date: Thu, 11 Jul 2024 15:10:30 -0400 > Cc: chet.ra...@case.edu > From: Chet Ramey <chet.ra...@case.edu> > > > . input.c and rlprivate.h use fd_set without the #ifdef guards that > > are used elsewhere, where the corresponding functions are > > implemented. On Windows, fd_set is only usable with sockets, and > > the header file sys/select.h does not exist, so this fails the > > compilation. > > . there's a syntax error in rl_getc, in a fragment specific to > > MinGW: a closing parenthesis is missing > > These have been fixed in the readline devel branch for some time, and > they're fixed in readline-8.3-alpha. > > > . one of the flavors of MinGW doesn't have the 'alarm' function in > > its headers/libraries (and the functionality doesn't work even in > > the flavors which do have it). > > Thanks, I'll add the stub for this variant.
Thanks. I have a followup question. Currently, reading input with timeout basically doesn't work on MS-Windows, and the ability to find out how many characters are available for input is severely limited (the calling application can only know if one or more input characters are available, but not how many, and the timeout specification to wait for input to become available is ignored). My question is how important is it to support this on MS-Windows? The Posix implementation uses pselect and ioctl/fcntl and similar APIs, which won't work on MS-Windows, but there are ways of implementing the same functionality on Windows using alternative Windows-specific APIs. If these features are important to have, and their importance justifies making the sources use more #ifdef's and be slightly harder to read, I can work on adding them. Do you know if there are any applications which use Readline and can be built on Windows that need this functionality?