Subject: These edits make all tests outside of socket-14.* pass on OSX Mavericks. Several socket-14.* tests failing there, and those that pass are very slow about it. Firewall or poor networking configuration may be playing a role.

From: dgp <[email-masked]>
Date: Tue, 3 Jun 2014 02:26:07 +0000

---
 generic/tclIO.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/generic/tclIO.c b/generic/tclIO.c
index 5552329..998fe5e 100644
--- a/generic/tclIO.c
+++ b/generic/tclIO.c
@@ -3287,7 +3287,7 @@ Tcl_Close(
 
     stickyError = 0;
 
-    if ((statePtr->encoding != NULL)
+    if (GotFlag(statePtr, TCL_WRITABLE) && (statePtr->encoding != NULL)
 	    && !(statePtr->outputEncodingFlags & TCL_ENCODING_START)) {
 
 	int code = CheckChannelErrors(statePtr, TCL_WRITABLE);
@@ -3295,6 +3295,8 @@ Tcl_Close(
 	if (code == 0) {
 	    statePtr->outputEncodingFlags |= TCL_ENCODING_END;
 	    code = WriteChars(chanPtr, "", 0);
+	    statePtr->outputEncodingFlags &= ~TCL_ENCODING_END;
+	    statePtr->outputEncodingFlags |= TCL_ENCODING_START;
 	}
 	if (code < 0) {
 	    stickyError = Tcl_GetErrno();
-- 
cgit v0.12