Re: 8.0 name conflict [message #72087 is a reply to message #72085] |
Thu, 12 August 2010 06:47  |
Mark Piper
Messages: 198 Registered: December 2009
|
Senior Member |
|
|
On Aug 11, 8:34 pm, wlandsman <wlands...@gmail.com> wrote:
> There is a popular procedure legend.pro in the IDL Astronomy library
> (http://idlastro.gsfc.nasa.gov/ftp/pro/plot/legend.pro) for putting
> a legend on a direct graphics plot. IDL 8.0 has a *function*
> LEGEND() for placing a legend on a PLOT(). While there is no
> conflict between a user procedure and an *intrinsic* function with the
> same name, in this case the ITTVIS function LEGEND() is written in
> IDL. So which ever gets compiled first prevents the other
> legend.pro from being compiled.
>
> If I put the standard IDL library at the beginning of the !PATH then I
> can't call the direct graphics LEGEND.
>
> IDL> legend
> % Compiled module: LEGEND.
> % Attempt to call undefined procedure/function: 'LEGEND'.
>
> But if I put the Astron Library ahead in the !PATH then I can't call
> LEGEND()
>
> IDL> l = legend(TARGET=[p1,p2], POSITION=[140,0.9], /DATA)
> % Compiled module: LEGEND.
> % Attempt to call undefined procedure/function: 'LEGEND'.
>
> --Wayne
Hi Wayne,
I use the astrolib LEGEND a lot (but not as much recently since it's
my job to use IDL 8.0!) My workaround is to use the default !path
ordering and manually compile the astrolib LEGEND in my startup file
-- the function and procedure form of LEGEND can then comfortably
coexist in the IDL session.
mp
|
|
|