begin ; !TAKEIN: augment command dictionary by all .mob-files in a directory
include "inc:util.imp"
include "inc:dict.imp"
routine define command symbol(string (255)symbol,file)
integer verb,equiv
to upper(symbol); to upper(file)
returnunless refname(symbol,comdict)<=0
verb = defname(symbol,comdict,8)
integer(verb) = 0; integer(verb+4) = 0
equiv = refname(file,fildict)
if equiv<=0 start
equiv = defname(file,fildict,8)
integer(equiv) = 0; integer(equiv+4) = 0
finish
integer(verb) = equiv
end
routine do directory(string (255)dir)
string (255)file,symbol
onevent 3,4,9 start
return
finish
returnif dir=""
openinput(1,dir.":directory"); selectinput(1)
cycle
readline(file)
if file -> file.(";").symbol start ; finish
toupper(file)
if file -> symbol.(".MOB") start
define command symbol(symbol,dir.":".file)
finish
repeat
end
routine do directories(string (255)s)
string (255)one,rest
while s -> one.(",").rest cycle
do directory(one); s = rest
repeat
do directory(s)
end
do directories(cliparam)
end