dictionary full message
Mike Fitzpatrick wrote on Jul 05, 1998
> I've been working in an IRAF script which takes a long time to be
> executed (tipically three days or more). It consist on a multi loop of
> different parameters which makes use of some IRAF tasks, like lucy in
> STSDAS and fitpsf in DIGIPHOTX. It also deals with a lot of system
> calls as:
>
> print("!program.exe " // par1 // " "// par2) | cl()
The bug you are seeing is caused by an apparent bug in the CL that we
haven't tracked down yet in which each statement that pipes a command to a
'cl' or 'clbye' increases the size of the dictionary stack (what it uses
to catalog tasks, packages, parameters, etc.) a small amount on each
iteration until the limit is reached. The workaround is to either use a
'!' escape explicitly (only useful if you don't need to pass script
variables as arguments) or else have the task declared as foreign and then
call it as though it were a normal iraf task. For example,
task $program = $foreign
and in your script you would
program (par1, par2)
Note that since extensions have meaning when declaring a task you'll have
to drop the ".exe" from the task declaration, and 'program' will need to
be in the path defined in your .cshrc file (since foreign commands are
run in spawned C-shells that source this file).
Mike Fitzpatrick
Last post on Jul 05, 1998