FILE_COMPILE - Compile an arbitrary procedure or function
FILE_COMPILE compiles a file containing an IDL procedure or function
stored on disk. This is basically a convenience routine which works
around the difficulties of using RESOLVE_ROUTINE and catches error
conditions. After compilation the user may call the procedure or
If compilation is successful, then ERROR is set to 0. If the
compilation fails, then, ERROR is set to a non-zero error code,
and ERRMSG is set to a descriptive error message.
HELPFORM - Generate a descriptive string in IDL HELP format
The HELPFORM function converts and IDL data value into a
representation very similar to the format produced by the built-in
command HELP. Programmers can thus present data types and values to
users in a format they are familiar with. The benefit is that the
output of HELPFORM is a string that can be outputted or reformatted.
This capability is not available in all versions of IDL.
INPUTFORM - Convert a value to an input expression
The INPUTFORM function converts an IDL data value into its string
representation, suitable for execution at the IDL command line or
with EXECUTE(). This is similar to the "InForm" output
representation of Mathematica, which formats output so that it can
be entered again on the command line. INPUTFORM() is a
specialized form of STRING().
Such behavior might useful in several circumstances:
- for printing values meant to be "pasted" back into the command
line by the user;
- for constructing command arguments to be EXECUTE()'d;
- for saving values in ASCII format for later execution.
However, it should be noted that the IDL parser is not perfect.
While IDL has many data types, not all expressions are representable
as a textual string. For example, the value of objects cannot be
represented. [ Pointers, however, can be represented. ]
INPUTFORM() therefore provides several feedback mechanisms to predict
and handle failure cases.
TAGSIZE - Compute type information for tags in a structure
The TAGSIZE function determines the types and sizes of each tag in
a structure. This is not as easy as it may seem, because IDL makes it
very, *very* difficult to find out the true dimensions of a tag
Briefly, IDL surreptitiously discards trailing dimensions of size
one. Thus, in doing any heavy duty work with structures you will find
that you lose some crucial dimensions, which you can't normally
regain. TAGSIZE attempts to work around all of these limitations to
present the true dimensions of all tag elements in a structure.
ROUTINE_NAMES - Unofficial documentation for this IDL function
ROUTINE_NAMES obtains information about routines, and their
variables and keywords. Using these functions, a subroutine can
interrogate, and in some cases change, the values and names of
variables and parameters in its calling routine, or at the $MAIN$
level. Some functionality of ROUTINE_NAMES is also in the IDL system
function ROUTINE_INFO, and other functionality is exclusive to
ROUTINE_NAMES has been designated as "OBSOLETE" by RSI, although it
will probably not disappear soon since their own software appears to
use it. Most of the functionality appears to be undocumented, so this
is my attempt to document it.
The following .PRO file contains documentation only. It is
harmless to install in your path since the official built-in version
will take precedence.
SAVE_DIAG - Inspect and diagnose an IDL SAVE file
Withdrawn in favor of the CMSVLIB library.
ARG_PRESENT - Simulate the ARG_PRESENT() function in all IDL versions
ARG_PRESENT and CMARG_PRESENT are considered
withdrawn. They apparently do not work under IDL version 4 the way
that I expected them to, or thought that I had tested them to do. If
you really want either of these functions, see the full