Index: tcl8.0/win/tclWinChan.c diff -c tcl8.0/win/tclWinChan.c:1.9 tcl8.0/win/tclWinChan.c:1.10 *** tcl8.0/win/tclWinChan.c:1.9 Sat Nov 15 00:09:56 1997 --- tcl8.0/win/tclWinChan.c Mon Nov 24 01:46:53 1997 *************** *** 340,346 **** */ for (infoPtr = firstFilePtr; infoPtr != NULL; infoPtr = infoPtr->nextPtr) { ! if (infoPtr->validMask & TCL_READABLE) { if (infoPtr->readerInfo->rType == FILE_TYPE_CONSOLE) { if (infoPtr->readerInfo->rThread == NULL) { TclWinReaderStart(infoPtr->readerInfo, TclWinReaderThread); --- 340,346 ---- */ for (infoPtr = firstFilePtr; infoPtr != NULL; infoPtr = infoPtr->nextPtr) { ! if (infoPtr->watchMask & TCL_READABLE) { if (infoPtr->readerInfo->rType == FILE_TYPE_CONSOLE) { if (infoPtr->readerInfo->rThread == NULL) { TclWinReaderStart(infoPtr->readerInfo, TclWinReaderThread); *************** *** 397,403 **** */ for (infoPtr = firstFilePtr; infoPtr != NULL; infoPtr = infoPtr->nextPtr) { ! if (infoPtr->validMask & TCL_READABLE) { if (infoPtr->readerInfo->rThread == NULL) { if (infoPtr->readerInfo->rType == FILE_TYPE_CONSOLE) { TclWinReaderStart(infoPtr->readerInfo, TclWinReaderThread); --- 397,403 ---- */ for (infoPtr = firstFilePtr; infoPtr != NULL; infoPtr = infoPtr->nextPtr) { ! if (infoPtr->watchMask & TCL_READABLE) { if (infoPtr->readerInfo->rThread == NULL) { if (infoPtr->readerInfo->rType == FILE_TYPE_CONSOLE) { TclWinReaderStart(infoPtr->readerInfo, TclWinReaderThread); Index: tcl8.0/win/tclWinPipe.c diff -c tcl8.0/win/tclWinPipe.c:1.7 tcl8.0/win/tclWinPipe.c:1.8 *** tcl8.0/win/tclWinPipe.c:1.7 Sat Oct 18 02:40:17 1997 --- tcl8.0/win/tclWinPipe.c Mon Nov 24 01:46:53 1997 *************** *** 397,403 **** */ for (infoPtr = firstPipePtr; infoPtr != NULL; infoPtr = infoPtr->nextPtr) { ! if (infoPtr->readerInfo->rType != FILE_TYPE_DISK) { if (infoPtr->readerInfo->rThread == NULL) { TclWinReaderStart(infoPtr->readerInfo, TclWinReaderThread); } --- 397,405 ---- */ for (infoPtr = firstPipePtr; infoPtr != NULL; infoPtr = infoPtr->nextPtr) { ! if ((infoPtr->watchMask & TCL_READABLE) && ! (infoPtr->readerInfo->rType != FILE_TYPE_DISK)) ! { if (infoPtr->readerInfo->rThread == NULL) { TclWinReaderStart(infoPtr->readerInfo, TclWinReaderThread); } *************** *** 447,453 **** */ for (infoPtr = firstPipePtr; infoPtr != NULL; infoPtr = infoPtr->nextPtr) { ! if (infoPtr->readerInfo->rType != FILE_TYPE_DISK) { if (infoPtr->readerInfo->rThread == NULL) { TclWinReaderStart(infoPtr->readerInfo, TclWinReaderThread); } --- 449,457 ---- */ for (infoPtr = firstPipePtr; infoPtr != NULL; infoPtr = infoPtr->nextPtr) { ! if ((infoPtr->watchMask & TCL_READABLE) && ! (infoPtr->readerInfo->rType != FILE_TYPE_DISK)) ! { if (infoPtr->readerInfo->rThread == NULL) { TclWinReaderStart(infoPtr->readerInfo, TclWinReaderThread); } Index: expect-5.21/win/etest.tcl diff -c expect-5.21/win/etest.tcl:1.13 expect-5.21/win/etest.tcl:1.14 *** expect-5.21/win/etest.tcl:1.13 Sat Nov 15 00:50:52 1997 --- expect-5.21/win/etest.tcl Mon Nov 24 01:52:09 1997 *************** *** 365,370 **** --- 365,377 ---- } } + proc consoletest {} { + global x + fileevent stdin readable {gets stdin line; puts "Read: $line"} + set x 1 + vwait x + } + #zeego #spawn d:/mksnt/mksnt/ls.exe