View on GitHub

IRAF Community Distribution

IRAF maintained by the community

Home | Installation | Packages | X11IRAF | PyRAF | Forum

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