The RESOLVE_ROUTINE procedure compiles user-written or library procedures or functions, given their names. Routines are compiled even if they are already defined (unless the SKIP_EXISTING keyword is set). RESOLVE_ROUTINE looks for the given filename in IDL’s search path. If the file is not found in the path, then the routine exits with an error.

Syntax


RESOLVE_ROUTINE, Name, /COMPILE_FULL_FILE, /EITHER, /IS_FUNCTION, /NO_RECOMPILE, /QUIET, /SKIP_EXISTING

Arguments


Name

A scalar string or string array containing the name or names of the procedures to compile. If Name contains functions rather than procedures, set the IS_FUNCTION keyword. The Name argument cannot contain the path to the .pro file—it must contain only a .pro filename. To specify a path to the .pro file, use the .COMPILE executive command.

Keywords


COMPILE_FULL_FILE

When compiling a file to find a specified routine, IDL normally stops compiling when the desired routine (Name) is found. If set, COMPILE_FULL_FILE compiles the entire file.

EITHER

If set, indicates that the caller does not know whether the supplied routine names are functions or procedures, and will accept either. This keyword overrides the IS_FUNCTION keyword.

IS_FUNCTION

Set this keyword to compile functions rather than procedures.

NO_RECOMPILE

Normally, RESOLVE_ROUTINE compiles a PRO or SAVE file even if the specified routine has already been compiled. If you set /NO_RECOMPILE, and the routine has already been compiled, then the entire file is ignored, even if that file might contain other un-compiled routines.

Tip: To have IDL attempt to compile the entire file, but still skip duplicate routines, use the SKIP_EXISTING keyword instead.

QUIET

Normally, RESOLVE_ROUTINE will generate errors if the routine cannot be found or if it is a system routine. Set QUIET to quietly ignore any errors.

SKIP_EXISTING

By default, if a routine is already compiled in IDL, RESOLVE_ROUTINE will replace the existing code. If you set /SKIP_EXISTING, then any routines that are already compiled are quietly ignored.

Tip: This keyword is useful if you have code (either in a PRO or SAVE file) from an older version of IDL, and you do not want the old routines to replace your currently-compiled "new" routines.

Version History


4.0

Introduced

8.4.1

Added QUIET keyword

8.5.2

Added SKIP_EXISTING keyword

See Also


.COMPILE, RESOLVE_ALL, RESTORE, ROUTINE_INFO, SAVE