comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » 'Open Declaration' finds the wrong instance of a routine
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: 'Open Declaration' finds the wrong instance of a routine [message #85182 is a reply to message #85171] Wed, 10 July 2013 13:09 Go to previous messageGo to previous message
BillG is currently offline  BillG
Messages: 6
Registered: March 2007
Junior Member
On Wednesday, July 10, 2013 12:21:11 PM UTC-6, David Fanning wrote:
> Bill Gallery writes:
>
>
>
>>
>
>> The idl workbench has a convenient feature: in the editor, if you right-click on a call to a procedure and select "Open Declaration", idl will open that procedure in a new window. However, it doesn't always find the correct instance of that procedure. Details below.
>
>>
>
>> I have a project that contains multiple copies of an idl procedure calc_a.pro (see diagram below.)
>
>> - Only one copy of calc_a is in !path.
>
>> - The routine calc_b.pro calls calc_a.
>
>> - In calc_b.pro, if I right-click on the call to calc_a and select "Open Declaration", it opens \project\old\calc_a.pro not \project\proc.calc_a.pro.
>
>> - However, 'help,/source' shows that the desired copy of calc_a.pro has been compiled.
>
>>
>
>> How do I prevent IDL from opening the wrong copy of calc_a.pro? The different copies of calc_a.pro may be different leading to confusion or worse.
>
>>
>
>> Notes:
>
>> - C:\MyProject\old is ***not*** in !path nor is './'
>
>> - Project>Properties>IDL Project Properties>"Update IDL path when project is opened or closed" is un-checked.
>
>> - The tab "Problems" shows
>
>> "Duplicate Routine: calc_a calc_a.pro C:\MyProject\old
>
>>
>
>> The problem does not appear to be with !path, but I can't find any other settings or preferences that control this behavior.
>
>>
>
>> Any suggestions?
>
>
>
> I would say both directories MUST be on your IDL path. ExelisVis is not
>
> the NSA, they aren't scrubbing your hard drive looking for duplicate
>
> files. They are looking in your IDL path.
>
>
>
> If you print !Path, are you *sure* you don't see the old directory
>
> there?
>
>
>
> I suppose it is possible they search every directory in the project
>
> directory. My project directory and my IDL directory are generally a
>
> long ways from one another, which may explain why I've never seen
>
> anything like this. :-)
>
>
>
> Cheers,
>
>
>
> David
>
> --
>
> David Fanning, Ph.D.
>
> Fanning Software Consulting, Inc.
>
> Coyote's Guide to IDL Programming: http://www.idlcoyote.com/
>
> Sepore ma de ni thue. ("Perhaps thou speakest truth.")

David,

Neither the directory \MyProject\old nor any oblique reference to it (e.g., '.\') are in !path. Furthermore, idl finds the correct version (\MyProject\proc\calc_a.pro) when compiling, e.g., resolve,/all.

Its a mystery.

Bill
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Previous Topic: idl_engine not shutting down
Next Topic: "Can't create pipe" on call to spawn.

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Sun Oct 12 02:07:42 PDT 2025

Total time taken to generate the page: 0.72033 seconds