Language Enhancements
The following enhancements have been made to the core language for the 7.1 release:
24-Bit Color PostScript Plotting
The Direct Graphics PostScript device (PS) has been enhanced to allow the use of 24-bit color specifications in plots rendered to a PostScript file. The PS device now accepts the DECOMPOSED keyword to enable 24-bit color plotting. For example, the following code creates a PostScript file that contains a simple plot drawn in blue:
SET_PLOT, 'ps' DEVICE, /DECOMPOSED, /COLOR DEVICE, FILE='c:\Junk\test1.ps' PLOT, INDGEN(10), COLOR='ff0000'x DEVICE, /CLOSE
See "Color PostScript" in The PostScript Device for additional details.
IDL_BASE64 Function
The IDL_BASE64 function uses MIME Base64 encoding to convert a byte array into an Base64 encoded scalar string, or to convert a Base64-encoded scalar string into a byte array.
MAKE_RT Enhancements
The
MAKE_RT routine has been enhanced to create a "generic" launch script if no value is specified for the SAVEFILE keyword. This allows you to create a runtime distribution and launch script that is not linked to a specific application; if no SAVEFILE is specified, the launch scripts will run IDL in runtime or virtual machine mode and open a file-selection dialog allowing the end-user to select a .sav file to restore and run.
Additionally:
Scientific Data Format Libraries
Note
The following Scientific Data Format library updates were released as part of the IDL Scientific Data Formats update. If you installed that update to IDL 7.0, you will not see any additional change in behavior in IDL 7.1.
IDL incorporates the following updated third-party Scientific Data Format libraries:
In addition to updating the library versions used by IDL, the following new API features are included:
CDF_SET_MD5CHECKSUM Procedure
The CDF_SET_MD5CHECKSUM procedure calculates and inserts a MD5 checksum into a CDF file. If you use the /REMOVE keyword, a previously-inserted checksum is removed from the file.
READONLY Keyword to CDF_OPEN
Set the READONLY keyword to the CDF_OPEN function to open the specified CDF file in readonly mode. Opening a file in readonly mode will result in significant performance improvement if there is a large amount of metadata and a large portion of the metadata is read.
Checking Class Names with OBJ_ISA
The OBJ_ISA function can now test whether an object class is subclassed from another class based on the class name. The previous behavior, whereby OBJ_ISA tests an instance of a class for an "is a" relationship, is unchanged.
Platform-Specific Sharable Library Naming
IDL now attempts to locate a sharable library for the current platform based on a platform-specific file-naming scheme. This allows IDL to differentiate between different versions of a sharable library file created for different operating systems or hardware architectures. A new PLATFORM_EXTENSION keyword to the MAKE_DLL procedure makes it easy to generate sharable library files with platform-specific names.
See Dynamically Loadable Modules for additional information.
GLOBAL_SYMBOLS Enhancement to DLM Definition
Including the line GLOBAL_SYMBOLS in a Dynamically Loadable Module's definition file (.dlm) will cause the shared library to load all of its symbols (functions or procedures) as globally accessible rather than locally accessible. If a symbol is globally accessible, then libraries that are loaded later will be able to access the symbol. In practice, adding this line to the DLM file will cause IDL to set the RTLD_GLOBAL flag when calling the dlopen() operating system function to load the module.
See Dynamically Loadable Modules for additional information.
IDL-Java Bridge Reset
By default, the IDL-Java bridge persists for the duration of the IDL session in which it was created. This means that modifications to items in the Java Classpath are not loaded until a new IDL session is started. You can modify this policy by modifying the IDL-Java Bridge Configuration file, as described in Initializing the IDL-Java Bridge.
After you have modified the Restart Bridge setting in the bridge configuration file, executing the .FULL_RESET_SESSION executive command will also reset the IDL-Java bridge.