Produced by IDL 7.1.1
User Documentation

./toolbox
which.pro

Last modification date:
Wed Sep 28 13:27:11 2016

which

procedure which, name

Search for any file in the IDL !path that contains the user-supplied IDL routine (procedure or function) name. Also indicates compilation status of each routine (in IDL lingo, whether or not the routine is "resolved".)

Restrictions: The IDL !path is searched for file names that are simply the module (in IDL documentation, "module" and "routine" are used interchangeably) name with a ".pro" suffix appended to them. A module stored inside a file whose name is different than the module name (followed by a ".pro") will not be found UNLESS that module happens to be the currently-resolved module! E.g., if the module "pro test_proc" lives in a file named "dumb_name.pro", then it will not be found:

 IDL> which, 'test_proc'
 Module TEST_PROC Not Compiled.
 % WHICH: test_proc.pro not found on IDL !path.
 
unless it happens to be resolved:
 IDL> .run dumb_name
 % Compiled module: TEST_PROC.
 IDL> which, 'test_proc'
 Currently-Compiled Module TEST_PROC in File:
 /home/robishaw/dumb_name.pro
 
However, this is terrible programming style and sooner or later, if you hide generically-named modules in inappropriately-named files, bad things will (deservedly) happen to you. The routine further assumes that a file named "dumb_name.pro" actually contains a module named "dumb_name"! If it doesn't, then you are a bad programmer and should seek professional counseling. Finally, if the user has somehow compiled a module as a procedure and then compiled a module of the same name as a function, they will both be available to the user, therefore both are listed. This situation should probably be avoided.

Notes: First, all currently-compiled procedures and functions are searched. Then the remainder of the IDL !path is searched. The current directory is searched before the IDL !path, whether or not the current directory is in the IDL !path, because this is the behavior of .run, .compile, .rnew, DOC_LIBRARY, etc.

MODIFICATION HISTORY:

Examples
You haven't yet resolved (compiled) the routine (module) DEFROI. Let's look for it anyway:
 IDL> which, 'defroi
 Module DEFROI Not Compiled.

 Other Files Containing Module DEFROI in IDL !path:
 /usr/local/rsi/idl/lib/defroi.pro
 
For some reason you have two modules with the same name. (This can occur in libraries of IDL routines such as the Goddard IDL Astronomy User's Library; an updated version of a routine is stored in a special directory while the old version is stored in its original directory.) Let's see which version of the module ADSTRING we are currently using:
 IDL> which, 'adstring.pro'
 Currently-Compiled Module ADSTRING in File:
 /home/robishaw/idl/goddard/pro/v5.4+/adstring.pro

 Other Files Containing Module ADSTRING in IDL !path:
 /home/robishaw/idl/goddard/pro/astro/adstring.pro
 
Uses
which_routine
Version
$Id$

Parameters
name
in, required
string
The procedure or function name to search for.


Produced by IDLdoc 1.6 on Wed Sep 28 13:27:40 2016