Support for Obsolete Preference Mechanisms

Versions of IDL prior to version 6.2 did not have the preference system described in this appendix. Those older versions used different mechanisms to communicate user settings at startup:

To provide backwards compatibility with older versions, current versions of IDL are still able to check those sources for user settings and to transfer them, if found, to the corresponding IDL preference setting. The following table shows how IDL maps from one to the other:

Source
IDL Preference

(!EDIT_INPUT gt 1) in IDL startup file

IDL_RBUF_SIZE

idl.retain (X11 resource)

IDL_GR_X_RETAIN

idl.graphicsWindowWidth (X11 resource)

IDL_GR_X_WIDTH

idl.graphicsWindowHeight (X11 resource)

IDL_GR_X_HEIGHT

idl.graphicsWindow14Screen (X11 resource)

IDL_GR_X_QSCREEN

idl.graphicsFontCache (X11 resource)

IDL_GR_TTCACHESIZE

idl.renderer (X11 resource)

IDL_GR_X_RENDERER

idl.gr_visual (X11 resource)

IDL_GR_X_VISUAL

idl.gr_depth (X11 resource)

IDL_GR_X_DEPTH

idl.colors (X11 resource)

IDL_GR_X_COLORS

In all such cases, IDL goes through the following steps:

  1. If the IDL_PREF_OBSOLETE_MIGRATE preference is set to True (1), the IDL preference system examines the obsolete source. Otherwise, it quietly ignores the source.
  2. If all of the following are true, IDL updates the user-preference file so that it contains the value from the obsolete source:
    • An obsolete source provides a value for a preference value
    • The value it provides is different from the IDL default value for that preference
    • The current value of the corresponding IDL preference has the default source (i.e., it has not been set)
    • In this way, the value migrates from the older mechanism into the IDL preference system. This migration can happen only once because once a preference has migrated, the IDL preference no longer has the default source.

  3. If the value was migrated, IDL issues an informational message explaining that it has happened.
  4. If a value from an obsolete source exists, but IDL is unable to use it for any of the reasons described in Step 2, and if the IDL_PREF_OBSOLETE_WARN preference is set to True (1), IDL issues an informational message explaining that the obsolete value was seen, but not used.

This process is intended as an aid to migration from the older system to the newer one. The default values of both preferences used to control it is True (1), in order to maximize the number of users it can assist. However, if you have successfully moved to newer versions of IDL or find the messages they produce annoying, you can set both preferences to False by using the following commands:

PREF_SET, 'IDL_PREF_OBSOLETE_MIGRATE', 'False' 
PREF_SET, 'IDL_PREF_OBSOLETE_WARN', 'False' 
PREF_COMMIT 

Alternatively, you can edit IDL startup files, .Xdefault files, .idlde files, and any other X11 resource files to remove the obsolete settings.

IDL_PREF_OBSOLETE_MIGRATE

The IDL_PREF_OBSOLETE_MIGRATE preference determines whether the IDL preference system consults older sources of information when determining preference values. See the description above for more information on this preference.

Value
Aliases
0
False, No, Off
1
True, Yes, On

Committed changes take effect immediately. The default value is True (1).

IDL_PREF_OBSOLETE_WARN

If IDL_PREF_OBSOLETE_MIGRATE is set to True (1) and an obsolete source provides a value that cannot be used, the IDL_PREF_OBSOLETE_WARN preference determines whether or not IDL issues an informational message explaining that this has happened. See the description above for more information on this preference.

Value
Aliases
0
False, No, Off
1
True, Yes, On

Committed changes take effect immediately. The default value is True (1).