* tkcon.tcl: override 8.5 [chan puts|gets]. [Bug 1876707]
authorJeff Hobbs <hobbs@users.sourceforge.net>
Fri, 24 Apr 2009 21:16:15 +0000 (21:16 +0000)
committerJeff Hobbs <hobbs@users.sourceforge.net>
Fri, 24 Apr 2009 21:16:15 +0000 (21:16 +0000)
ChangeLog
tkcon.tcl

index 72455c34acafff5b84762f2eb35b0c38a518a2b7..56327bc5809365250e428741ff1079222cede5d9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2009-04-24  Jeff Hobbs  <jeffh@ActiveState.com>
 
+       * tkcon.tcl: override 8.5 [chan puts|gets]. [Bug 1876707]
+
        * tkcon.tcl: update pre-8.4 private text binding refs
 
        * tkcon.tcl: clean up cmd global var used [Bug 2441583]
index fe5dc1ae21feff790909e1b22d2012b8a78386e4..8ca5115109d39e642f25096be73361239fc2d025 100755 (executable)
--- a/tkcon.tcl
+++ b/tkcon.tcl
@@ -366,9 +366,15 @@ proc ::tkcon::Init {args} {
     ## input and output is handled by tkcon
     if {![catch {rename ::puts ::tkcon_tcl_puts}]} {
        interp alias {} ::puts {} ::tkcon_puts
+       if {[llength [info commands ::tcl::chan::puts]]} {
+           interp alias {} ::tcl::chan::puts {} ::tkcon_puts
+       }
     }
     if {($OPT(gets) != "") && ![catch {rename ::gets ::tkcon_tcl_gets}]} {
        interp alias {} ::gets {} ::tkcon_gets
+       if {[llength [info commands ::tcl::chan::gets]]} {
+           interp alias {} ::tcl::chan::gets {} ::tkcon_gets
+       }
     }
 
     EvalSlave history keep $OPT(history)
@@ -483,9 +489,15 @@ proc ::tkcon::InitSlave {slave {slaveargs {}} {slaveargv0 {}}} {
     foreach cmd $PRIV(slavealias) { $slave alias $cmd $cmd }
     interp alias $slave ::ls $slave ::dir -full
     interp alias $slave ::puts $slave ::tkcon_puts
+    if {[llength [info commands ::tcl::chan::puts]]} {
+       interp alias $slave ::tcl::chan::puts $slave ::tkcon_puts
+    }
     if {$OPT(gets) != ""} {
        interp eval $slave { catch {rename ::gets ::tkcon_tcl_gets} }
        interp alias $slave ::gets $slave ::tkcon_gets
+       if {[llength [info commands ::tcl::chan::gets]]} {
+           interp alias $slave ::tcl::chan::gets $slave ::tkcon_gets
+       }
     }
     if {$slaveargv0 != ""} {
        # If tkcon was invoked with 1 or more filenames, then make the
@@ -555,6 +567,8 @@ proc ::tkcon::InitInterp {name type} {
            catch {interp alias {} ::ls {} ::dir -full}
            if {[catch {interp alias {} ::puts {} ::tkcon_puts}]} {
                catch {rename ::tkcon_puts ::puts}
+           } elseif {[llength [info commands ::tcl::chan::puts]]} {
+               catch {interp alias {} ::tcl::chan::puts {} ::tkcon_puts}
            }
        }
        if {$OPT(gets) != ""} {
@@ -562,6 +576,8 @@ proc ::tkcon::InitInterp {name type} {
                catch {rename ::gets ::tkcon_tcl_gets}
                if {[catch {interp alias {} ::gets {} ::tkcon_gets}]} {
                    catch {rename ::tkcon_gets ::gets}
+               } elseif {[llength [info commands ::tcl::chan::gets]]} {
+                   catch {interp alias {} ::tcl::chan::gets {} ::tkcon_gets}
                }
            }
        }