Bug #533642: send ::info in case info is redefined.
authorPat Thoyts <patthoyts@users.sourceforge.net>
Sun, 24 Mar 2002 23:32:12 +0000 (23:32 +0000)
committerPat Thoyts <patthoyts@users.sourceforge.net>
Sun, 24 Mar 2002 23:32:12 +0000 (23:32 +0000)
Get the html help viewer to accept non-html filenames.
handle interps without Tk commands

ChangeLog
help.tcl
images_list.tcl
names.tcl
windows_info.tcl

index 61301b6d4e3063f630f618b0e704f3d3cd48763a..bf1b43c2e22584b794113f9846569fe7ddd4a0a5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
+Fri Mar 22 15:53:54 2002  Pat Thoyts <patthoyts@users.sourceforge.net>
+       
+       * names.tcl: Bug #533642: send ::info in case info is redefined.
+       * help.tcl: Get the html help viewer to accept non-html filenames.
+       * windows_info.tcl: handle interps without Tk commands
+       * images_list.tcl: handle interps without Tk commands
+
 Fri Mar 22 01:04:59 2002  Pat Thoyts <patthoyts@users.sourceforge.net>
 
+       * version.tcl: Released version 5.1.6p7
        * globals_list.tcl: 
        * value.tcl: Bug #533367: use default Tk file selection dialogs.
 
index d7a1380078f5504e1a41ae9990f63ab46d7bf3d1..626637598a91900d2db0fbcaf428db5c73960b15 100644 (file)
--- a/help.tcl
+++ b/help.tcl
@@ -70,9 +70,14 @@ dialog help_window {
        $self read_topic $topic
     }
     method read_topic {topic} {
+        # probably should use uri::geturl from tcllib
        set slot(topic) $topic
        wm title $self "Help: $topic"
-       set f [open $slot(helpdir)/$topic.html r]
+        set filename [file join $slot(helpdir) $topic]
+        if {![file exist $filename]} {
+            append $filename .html
+        }
+       set f [open $filename r]
        set txt [read $f]
        close $f
        feedback .help_feedback -steps [set slot(len) [string length $txt]] \
@@ -98,7 +103,7 @@ dialog help_window {
        }
     }
     method follow_link {link} {
-       $self show_topic [file root $link]
+       $self show_topic $link
     }
     method forward {} {
        if {$slot(rendering) || ($slot(history_ndx)+1) >= $slot(history_len)} return
index b9ac8e7912a7f770b2e282311731c5bdfb63e28a..08161cc6a94d2617f16056b33cc021f56c4fb2e9 100644 (file)
@@ -20,7 +20,8 @@ widget images_list {
     }
     method update {target} {
        $self clear
-       foreach image [lsort [send $target image names]] {
+        set cmd [list if {[info command image] != {}} {image names}]
+       foreach image [lsort [send $target $cmd]] {
            $self append $image
        }
     }
index ee9271d0b3ce4c4dec416871bdfde253ab1268f6..8fe5aa3f71097b4b219f9dd0c4ce68b00789c421 100644 (file)
--- a/names.tcl
+++ b/names.tcl
@@ -22,7 +22,7 @@ namespace eval names {
    proc procs target {
       set result {}
       foreach n [names $target] {
-         foreach p [send $target namespace eval $n info procs] {
+         foreach p [send $target namespace eval $n ::info procs] {
             lappend result "$n\::$p"
          }
       }
@@ -32,7 +32,7 @@ namespace eval names {
    proc vars target {
       set result {}
       foreach n [names $target] {
-         foreach v [send $target info vars ${n}::*] {
+         foreach v [send $target ::info vars ${n}::*] {
             lappend result $v
          }
       }
index a7c782b07344bb36b3eb683235ec23e29983101a..44558b0d2638558ea5ff839d42d8c0e5ffdb5360 100644 (file)
@@ -18,14 +18,18 @@ object_class windows_info {
     method get_windows {} { return $slot(windows) }
     method append_windows {target result_var parent} {
        upvar $result_var result
-       foreach w [send $target [list winfo children $parent]] {
+        set cmd "if {\[::info command winfo\] != {}} {\n\
+                winfo children $parent\n\
+            }"
+       foreach w [send $target $cmd] {
            lappend slot(windows) $w
            $self append_windows $target result $w
        }
     }
     method update {target} {
        $self clear
-       if {[catch {set slot(windows) [send $target winfo children .]}]} {
+        set cmd [list if {[::info command winfo] != {}} {::winfo children .}]
+       if {[catch {set slot(windows) [send $target $cmd]}]} {
             set slot(windows) {}
         }
        feedback .feedback -title "Getting Windows" \