131 |
|
set curhelp(fid) [open $fname r] |
132 |
|
if {! [file exists $ifile] || |
133 |
|
[file mtime $fname] > [file mtime $ifile]} { |
134 |
< |
set curhelp(catlist) {} |
134 |
> |
set helpindex(catlist) {} |
135 |
|
while {[gets $curhelp(fid) li] >= 0} { |
136 |
|
if [regexp -nocase {^\.([A-Z][A-Z0-9]*)\.([A-Z][A-Z0-9]*)$} \ |
137 |
|
$li dummy cat top] { |
138 |
|
lappend helpindex([string toupper $cat]) $top |
139 |
|
set helpindex([string toupper $cat,$top]) \ |
140 |
|
[tell $curhelp(fid)] |
141 |
< |
if {[lsearch -exact $curhelp(catlist) $cat] < 0} { |
142 |
< |
lappend curhelp(catlist) $cat |
141 |
> |
if {[lsearch -exact $helpindex(catlist) $cat] < 0} { |
142 |
> |
lappend helpindex(catlist) $cat |
143 |
|
} |
144 |
|
} |
145 |
|
} |
146 |
|
if {! [catch {set fi [open $ifile w]}]} { |
147 |
< |
writevars $fi {curhelp(catlist) helpindex} |
147 |
> |
puts $fi "# This is an automatically created index\ |
148 |
> |
file -- DO NOT EDIT!" |
149 |
> |
writevars $fi helpindex |
150 |
|
close $fi |
151 |
|
catch {exec chmod 666 $ifile} |
152 |
|
} |
154 |
|
source $ifile |
155 |
|
} |
156 |
|
.helpwin.but.catb.m delete 0 last |
157 |
< |
foreach cat $curhelp(catlist) { |
157 |
> |
foreach cat $helpindex(catlist) { |
158 |
|
.helpwin.but.catb.m add command -label $cat \ |
159 |
|
-command "helphist new $cat intro" |
160 |
|
} |
311 |
|
return 0 |
312 |
|
} |
313 |
|
set nmatches 0 |
314 |
< |
set cat [lindex $curhelp(catlist) 0] |
314 |
> |
set cat [lindex $helpindex(catlist) 0] |
315 |
|
set top [lindex $helpindex([string toupper $cat]) 0] |
316 |
|
set startpos [tell $curhelp(fid)] |
317 |
|
seek $curhelp(fid) $helpindex([string toupper $cat,$top]) |