rendered paste body; -----------------------
on 1:dialog:ModuleWin:sclick:8: {
var %smodule = $did(ModuleWin,3).seltext
var %depends = $right( $+ $read(modules\ $+ %smodule $+ .mrc,4),-2)
if (%depends == 0) {
.unload -rs modules\ $+ %smodule $+ .mrc
var %curtotal = $did(ModuleWin,3).lines
var %curline = 1
while (%curline <= %curtotal) {
if (%smodule == $did(ModuleWin,3, $+ %curline $+ ).text) {
did -d ModuleWin 3 %curline
break
}
inc %curline
}
did -b ModuleWin 8
}
else {
var %meetsdep = 1
var %totaldeps = $numtok( $+ %depends $+ ,32)
var %totalscripts = $script(0)
var %curdep = 1
var %curscript
var %deptext
var %depchunk
var %scripttext
while (%curdep <= %totaldeps) {
%curscript = 1
%deptext = $gettok( $+ %depends $+ , $+ %curdep $+ ,32)
%depchunk = 1
while (%curscript <= %totalscripts) {
%scripttext = $left( $+ $nopath( $+ $script( $+ %curscript $+ )),-4)
if (%deptext == %scripttext) { %depchunk = 0 }
inc %curscript
}
if (%depchunk == 0) {
%meetsdep = 0
break
}
inc %curdep
}
if (%meetsdep == 1) {
.unload -rs modules\ $+ %smodule $+ .mrc
var %curtotal = $did(ModuleWin,3).lines
var %curline = 1
while (%curline <= %curtotal) {
if (%smodule == $did(ModuleWin,3, $+ %curline $+ ).text) {
did -d ModuleWin 3 %curline
break
}
inc %curline
}
did -b ModuleWin 8
}
else {
msgbox The following modules still need %smodule $+ : %depends
did -b ModuleWin 8
}
}
}