--- ray/src/util/gethelp3.6.tcl 1994/12/01 12:47:47 2.7 +++ ray/src/util/gethelp3.6.tcl 1995/10/17 21:28:18 2.11 @@ -27,7 +27,7 @@ proc gethelp {helpfile category topic} { # Open help w toplevel .helpwin -cursor top_left_arrow wm minsize .helpwin 500 400 wm iconbitmap .helpwin question - frame .helpwin.but -geometry 150x400 + frame .helpwin.but -width 150 -height 400 pack .helpwin.but -side right -fill none -expand no label .helpwin.but.lab -textvariable curhelp(title) place .helpwin.but.lab -relx .1667 -rely 0 @@ -129,22 +129,24 @@ proc helpopen fname { # open the named help file .helpwin.txt insert end "Loading $fname..." update set curhelp(fid) [open $fname r] - if {! [file exists $ifile] || + if {! [file isfile $ifile] || [file mtime $fname] > [file mtime $ifile]} { - set curhelp(catlist) {} + set helpindex(catlist) {} while {[gets $curhelp(fid) li] >= 0} { if [regexp -nocase {^\.([A-Z][A-Z0-9]*)\.([A-Z][A-Z0-9]*)$} \ $li dummy cat top] { lappend helpindex([string toupper $cat]) $top set helpindex([string toupper $cat,$top]) \ [tell $curhelp(fid)] - if {[lsearch -exact $curhelp(catlist) $cat] < 0} { - lappend curhelp(catlist) $cat + if {[lsearch -exact $helpindex(catlist) $cat] < 0} { + lappend helpindex(catlist) $cat } } } if {! [catch {set fi [open $ifile w]}]} { - writevars $fi {curhelp(catlist) helpindex} + puts $fi "# This is an automatically created index\ + file -- DO NOT EDIT!" + writevars $fi helpindex close $fi catch {exec chmod 666 $ifile} } @@ -152,7 +154,7 @@ proc helpopen fname { # open the named help file source $ifile } .helpwin.but.catb.m delete 0 last - foreach cat $curhelp(catlist) { + foreach cat $helpindex(catlist) { .helpwin.but.catb.m add command -label $cat \ -command "helphist new $cat intro" } @@ -309,7 +311,7 @@ proc helpsearch word { # search for occurances of the return 0 } set nmatches 0 - set cat [lindex $curhelp(catlist) 0] + set cat [lindex $helpindex(catlist) 0] set top [lindex $helpindex([string toupper $cat]) 0] set startpos [tell $curhelp(fid)] seek $curhelp(fid) $helpindex([string toupper $cat,$top])