SF Bug #533164: Fixed the globals window to cope with empty arrays properly.
authorPat Thoyts <patthoyts@users.sourceforge.net>
Fri, 22 Mar 2002 00:01:44 +0000 (00:01 +0000)
committerPat Thoyts <patthoyts@users.sourceforge.net>
Fri, 22 Mar 2002 00:01:44 +0000 (00:01 +0000)
ChangeLog
globals_list.tcl

index 6b7cb44d03e5d0c80d5c17be2a98e2936d2a1518..ce16744299f028163ba094d63f155a73964dc8ea 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,8 @@ Thu Mar 21 15:27:53 2002  Pat Thoyts <patthoyts@users.sourceforge.net>
 
        * tkinspect.tcl: Improved the dde send implementation and fixed
        the window title to show the application name.
+       * globals_list.tcl: Bug #533164: Fixed the retrieve for empty
+       arrays.
 
 Thu Mar 21 00:32:17 2002  Pat Thoyts <patthoyts@users.sourceforge.net>
 
index 05aca205f5a320cf7ce2bd8227240a904965495b..1dce346f340c495df37a287b9deba5e278a384b3 100644 (file)
@@ -126,15 +126,20 @@ widget globals_list {
        }
     }
     method retrieve {target var} {
-       if ![send $target [list array size $var]] {
+       if ![send $target [list array exists $var]] {
            return [list set $var [send $target [list set $var]]]
        }
        set result {}
-       foreach elt [lsort [send $target [list array names $var]]] {
-           append result [list set [set var]($elt) \
-                          [send $target [list set [set var]($elt)]]]
-           append result "\n"
-       }
+        set names [lsort [send $target [list array names $var]]]
+        if {[llength $names] == 0} {
+            append result "array set $var {}\n"
+        } else {
+            foreach elt $names {
+                append result [list set [set var]($elt) \
+                        [send $target [list set [set var]($elt)]]]
+                append result "\n"
+            }
+        }
        return $result
     }
     method send_filter {value} {