I have been reviewing the patches to Tcl source files as part of the port of Tcl to FreeBSD (looking at http://www.freebsd.org/cgi/cvsweb.cgi/ports/lang/tcl84/files/) and I have some feedback.
* patch-tclUnixChan.c - it is not really clear what this patch is attempting to do, but it is definitely not doing what its check in comment seems to indicate is attempted. FWIW, Tcl configures all FDs that satisfy the isatty() call as serial channels *except* stdin/stdout/stderr and explicitly /dev/tty (NB not /dev/ttya or anything else that has /dev/tty as a prefix; just the literal). My guess is that this patch can be dropped with no ill effect at all, given that asking around indicates that you don't have a device called "/dev/cua" (/dev/cuaa0 etc. not counting given the logic of that patch).
* patch-tclUnixInit.c - this patch has been accepted into the Tcl core; it will form part of Tcl 8.4.11
* patch-tclUnixSock.c - this patch seems to indicate that a better configure test for uname() is necessary, though I don't know what to do exactly there. In any case, I suspect that this patch is fixing things in the wrong place.
* patch-aa,patch-configure - I've not reviewed these (they're for files that we pretty much expect vendors to adapt anyway)
I'll handle it.
Thanks very much for the review! Here are the changes
I made as a result:
patch-tclUnixChan.c - I agree that this patch is bogus. Removed.
patch-tclUnixInit.c - Patch will remain until the port is updated to
a version of Tcl which includes the patch. Thanks for incorporating
it into your source.
patch-tclUnixSock.c - This patch was introduced on the premise that
uname() only returned the first 32 characters of the nodename. This
is not the case now, so the patch was removed.