> the stdio module [...] > does not pull in the fopen module, even though the fopen module > makes fopen function work *the way anyone including stdio.h would > expect them work*.
I disagree on the "anyone" part. I never missed the fopen module, but I'm sure everyone who wrote cross-platform socket code did direct some @#$% at whoever invented Winsock. (In fact, there are two parts in lib/fopen.c: one is a fix for an obscure bug in some implementations; the other is a hack that does not really have anything to do with fopen, and may actually be undesirable in some circumstances because it impedes access to files named /dev/null under Windows -- a confusing but legitimate scenario. Note that the undesirable behavior falls on the user's shoulders, not on the programmer, hence a big difference with winsock.c). The case of sys_select is even more special, because the header provides basically a single function, like poll (where the module includes both a header and an implementation). > I hope my thoughts are clearer now. I think your code is great, and I > will use it in my projects, but my concern is maintaining the separation > between header-gnulib-modules and function-gnulib-modules. I understood that, and I appreciate discussion. Paolo