Hitched version to p8. r5_1_6p8
authorPat Thoyts <patthoyts@users.sourceforge.net>
Thu, 4 Apr 2002 23:08:56 +0000 (23:08 +0000)
committerPat Thoyts <patthoyts@users.sourceforge.net>
Thu, 4 Apr 2002 23:08:56 +0000 (23:08 +0000)
ChangeLog
README
WhatsNew.html
globals_list.tcl
names.tcl
tkinspect.tcl
version.tcl

index 92486f31ddafc807ff4cb3fca774cce96c387f26..af9c87534199f860316fbefc0dba8048526c33c8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Thu Apr 04 22:38:44 2002  Pat Thoyts <patthoyts@users.sourceforge.net>
+
+       * globals_list.tcl: 
+       * names.tcl: fix array checking (use array exists).
+       * tkinspect.tcl: merged in support for scripted documents (patch
+       by Steve Landers). Use the winsend package if available.
+       
 Mon Mar 25 12:05:22 2002  Pat Thoyts <patthoyts@users.sourceforge.net>
 
        * Bug #533899: Found and merged Paul Healy's 1997 p4 patch which adds
diff --git a/README b/README
index 72e21867230b1e01a07d889bcf1164c28475a5e8..37f5075ea6e8d4f339a3ad1070d9f45a0ddf94f8 100644 (file)
--- a/README
+++ b/README
@@ -1,5 +1,5 @@
-                       tkinspect, release 5.1.6p7
-                           (22 Mar 2002)
+                       tkinspect, release 5.1.6p8
+                           (04 Apr 2002)
 
 Tkinspect is a Tk program browser originally written by Sam Shen and
 now updated to work with Tcl/Tk 8+, incr Tcl 3+ and to cope with
index df3d7aeaa9d6fd5ec4aab8a8e495fe0145d4dec2..c862013f771d11991ea3dd1f83b6af26c197c191 100644 (file)
@@ -9,19 +9,41 @@
     <h1><center>What's New?</center></h1>
 
     See the <a href="ChangeLog">ChangeLog</a> for more details.
-    
+
+    <h2>Changes in release 5.1.6p8 (04 Apr 2002)</h2>
+
+    <ul>
+    <li>Merged in Paul Healy's p4 patch which provides
+        <i>namespaces</i> and <i>afters</i> windows for examining entire
+        namespaces or the after event timers.</li>
+    <li>Fixed array checking. <i>array size</i> was use instead of
+        <i>array exists</i> in some places which can cause an empty
+        array to be treated as if it is a normal variable.</li>
+    <li>Merged in Steve Landers code for Scripted Document
+        support</li>
+    </ul>
+
+    <h2>Changes in release 5.1.6p7 (22 Mar 2002)</h2>
+
+    <ul>
+    <li>A raft of bugs have been fixed - see the 
+        <a href="ChangeLog">ChangeLog</a> for just what.</li>
+    <li>Added a DDE implementation of <i>send</i> for use on
+        Windows.</li>
+    </ul>
+
     <h2>Changes in release 5.1.6p6 (14 Mar 2002)</h2>
     
-    The original code plus some patches have been collected together and
+    <p>The original code plus some patches have been collected together and
     added to the <a href="http://sourceforge.net/projects/tkcon">tkcon</a>
     project as <a href="http://sourceforge.net/">SourceForge</a>. Some
     general work has been done to bring tkinspect up to date for use with
-    Tcl 8.3 and 8.4 and incr Tcl 3.2.
+    Tcl 8.3 and 8.4 and incr Tcl 3.2.</p>
     
     <h2>Changes in release 5.1.6 (23 June 1995)</h2>
     
-    5.1.6 has only 2 bug fixes, see the 
-    <a href="ChangeLog">ChangeLog</a> if you're really interested.
+    <p>5.1.6 has only 2 bug fixes, see the 
+    <a href="ChangeLog">ChangeLog</a> if you're really interested.</p>
     
     <h2>Changes in release 5.1.4 (21 June 1995)</h2>
     
index 85002bb8912570e308a80fcd905c98948d524de9..4dd0603cd512b44fd1e32d4b01d4b6239fb51a51 100644 (file)
@@ -30,7 +30,7 @@ dialog variable_trace {
        text $self.t -yscroll "$self.sb set" -setgrid 1
        pack $self.sb -side right -fill y
        pack $self.t -side right -fill both -expand 1
-       if {[send $slot(target) array size $slot(variable)] == 0} {
+       if {![send $slot(target) array exists $slot(variable)]} {
            set slot(trace_cmd) "send [winfo name .] $self update_scalar"
            $self update_scalar "" "" w
            set slot(is_array) 0
index ae65d967eb1e9fcc2ae0d44d527252b3624ca241..05c7aaef9053223a146f72a9e530767c469546b4 100644 (file)
--- a/names.tcl
+++ b/names.tcl
@@ -65,7 +65,7 @@ namespace eval names {
 
     proc value {target var} {
         set tail [namespace tail $var]
-        if [send $target [list array size $var]] {
+        if {[send $target [list array exists $var]]} {
             return "variable $tail ; # $var is an array\n" ; # dump it out?
         }
         set cmd [list set $var]
index ac73632814708922d0d6fd323074992af06a8ce3..2f7f54e12897087c0910d601a0c88cc45b97c06f 100644 (file)
@@ -39,14 +39,30 @@ if {[info commands itcl_info] != ""} {
 
 wm withdraw .
 
-if [file exists @tkinspect_library@/tclIndex] {
+# Find the tkinspect library - support scripted documents (Steve Landers)
+if {[info exists ::scripdoc::self]} {
+    lappend auto_path [file join $::scripdoc::self lib]
+    set tkinspect_library [file join $::scripdoc::self lib tkinspect]
+    lappend auto_path $tkinspect_library
+} elseif [file exists @tkinspect_library@/tclIndex] {
     lappend auto_path [set tkinspect_library @tkinspect_library@]
 } else {
-    lappend auto_path [set tkinspect_library .]
+    lappend auto_path [set tkinspect_library [file dirname [info script]]]
 }
 
-# Emulate the 'send' command using the dde package if available.
+# Use the winsend package if available.
 if {[info command send] == {}} {
+    if {![catch {package require winsend}]} {
+        set tkinspect(title) [winsend appname]
+
+        proc send {app args} {
+            eval winsend send [list $app] $args
+        }
+    }
+}
+
+# Emulate the 'send' command using the dde package if available.
+if {[info command send] == {} || [package provide winsend] != {}} {
     if {![catch {package require dde}]} {
         array set dde [list count 0 topic $tkinspect(title)]
         while {[dde services TclEval $dde(topic)] != {}} {
@@ -56,8 +72,18 @@ if {[info command send] == {}} {
         dde servername $dde(topic)
         set tkinspect(title) $dde(topic)
         unset dde
-        proc send {app args} {
-            eval dde eval [list $app] $args
+        if {[package provide winsend] != {}} {
+            proc send {app args} {
+                if {[string match {!*} $app]} {
+                    eval dde eval [list [string range $app 1 end]] $args
+                } else {
+                    eval winsend send [list $app] $args
+                }
+            }
+        } else {
+            proc send {app args} {
+                eval dde eval [list $app] $args
+            }
         }
     }
 }
@@ -238,10 +264,25 @@ dialog tkinspect_main {
     method fill_interp_menu {} {
        set m $self.menu.file.m.interps
        catch {$m delete 0 last}
+        set winsend 0
+        if {[package provide winsend] != {}} {
+            set winsend 1
+            foreach interp [winsend interps] {
+                $m add command -label $interp \
+                    -command [list $self set_target $interp]
+            }
+        }
         if {[package provide dde] != {}} {
             foreach service [dde services TclEval {}] {
-                $m add command -label [lindex $service 1] \
-                    -command [list $self set_target [lindex $service 1]]
+                if {$winsend} {
+                    set label "[lindex $service 1] (dde)"
+                    set app   "![lindex $service 1]"
+                } else {
+                    set label [lindex $service 1]
+                    set app $label
+                }
+                $m add command -label $label \
+                    -command [list $self set_target $app]
             }
         } else {
             foreach interp [winfo interps] {
index c0a45d84408822582a250293aee6443d48ec2aa8..449e2f03818809f9e88de0bd76b8528ffbd3126c 100644 (file)
@@ -6,8 +6,8 @@
 
 proc version_init {} {
     global tkinspect tk_version tk_patchLevel
-    set tkinspect(release) 5.1.6p7
-    set tkinspect(release_date) "22 Mar 2002"
+    set tkinspect(release) 5.1.6p8
+    set tkinspect(release_date) "04 Apr 2002"
     scan $tk_version "%d.%d" major minor
     if {$major < 8} {
        puts stderr \