||Map grid and continent outlines now appear correctly when plotted across the date line. (This fix applies only to IDL graphics, not Direct Graphics.)
||In IDL 7.1 and 8.0, the IDLgrWindow RESOLUTION property was hard-coded to 72 DPI. For 8.0.1 on Windows platforms, this value is now taken from the Windows DPI setting. This allows point sizes set in IDL object graphics to match other applications on Windows platforms. Because of the change in font size, you may need to adjust any font sizes you have set in graphics programs.
||The 64-bit Java Virtual Machine (JVM) for 64-bit Windows was not properly handling low memory conditions. This problem was not associated with IDL. If your memory runs low, increasing your page file size may help. We suggest setting an initial page size of 1.5 times the physical RAM and a maximum page size of 3 times the physical RAM.
||The Java Virtual Machine (JVM) was not allocating large enough memory blocks for the IDL Workbench. This has been fixed for UNIX platforms. For Windows platforms, the arguments for the JVM were changed to allow allocation of 128 MB heap blocks.
||When using the C_LINESTYLE keyword with the CONTOUR function, the linestyle is now honored if the keyword value is a scalar or has fewer elements than the number of contour levels. A similar problem with the C_THICK keyword has also been fixed.
|HELP now returns the number of elements if there is more than one element. If a single argument is provided to HELP, and it is a structure, then HELP automatically displays the structure information without having to set the STRUCTURES keyword.
||The PLOT title displayed in the wrong location with logarithmic axes.
||BARPLOT did not handle logarithmic axes.
||PLOT3D, ERRORPLOT, and SURFACE with /OVERPLOT did not correctly display with logarithmic axes.
||When values less than or equal to 0 were present, logarithmic axes were not honored.
||The title of a SURFACE plot no longer changes position when a CONTOUR plot is overplotted.
||Japanese characters are now saved correctly to PDF files.
||You can now successfully call a method on a dereferenced pointer variable:
lst = list()
p = ptr_new(lst)
||You can now insert a legend in iTools, either using the INSERT_LEGEND keyword or through the Insert > New Legend menu item.
||IDL now allows subscript notation to be used as long as it evaluates to a scalar object reference:
obj = OBJ_NEW('IDLitComponent')
o = [obj]
||Even with garbage collection disabled, code with millions of pointers will run slower in IDL 8.0 than earlier versions. This has been fixed – if you disable garbage collection for all heap variables, then your code should run at the same speed in IDL 8.0.1 as it did in earlier versions. Note that if reference counting is disabled for all heap variables, then the reference counts will not be incremented or decremented. If you then re-enable reference counting, any existing heap variables may be unexpectedly destroyed.
||The FOREACH operator correctly assigns a scalar value to the element:
FOREACH x, DO HELP,x
X INT = 1
|IDL automatic garbage collection now correctly destroys objects when the last reference to the object is deleted.
||You can now dereference an unnamed pointer expression. For example:
||FOREACH caused loop errors or crashed in IDL under certain conditions.
||FOREACH did not elegantly handle an empty list (!NULL vector).
||Using parentheses notation "( )" to reference an array within an object method caused a syntax error. This problem has been corrected, with the following exception: if an object has an internal array and a method function that both have the same name, you cannot reference the array field inside an object method using the older parentheses notation because IDL does not know at compile time if you are referencing the object array or the object method function. We suggest you use the bracket notation "[ ]" when referencing an array.
||The IDL 8.0 FLEXnet license manager service on Mac OS X started and stopped repeatedly and caused IDL to run in demo mode when a license was available. The license manager service now runs continuously.
||Issuing the .FULL_RESET_SESSION command re-enables automatic garbage collection for pointers and objects if it was previously disabled.
||You can now restore IDL 8.0 SAVE files that include scalar and array byte variables in previous versions of IDL. Earlier versions of IDL may have problems restoring 8.0 SAVE files that include byte arrays greater than 2147483647 bytes.
||In IDL 8.0, a change was made to ON_ERROR to print less information than in previous versions. In IDL 8.0.1, ON_ERROR, 1 has been changed back to its original behavior:
- ON_ERROR, 1: Print the current program stack, and then return to the main program level and stop.
- ON_ERROR, 2: Return to the caller of the program unit that called ON_ERROR, then stop and print the program stack from the caller up to the main program level.
||You can now call the N_TAGS function on a new object reference from inside an object method:
PRINT, N_TAGS( OBJ_NEW() )
||The H5F_OPEN and H5F_CREATE functions now work correctly after a previous call to H5_CLOSE.
||The FOR loop behavior was changed to check the loop counter prior to incrementing. This avoids situations that caused infinite loops around the minimum and maximum values of signed variable types. The behavior for unsigned types is unchanged.