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:
- !EDIT_INPUT and recall buffer size — the default size of the IDL command recall buffer is 20 lines. To change this, you were allowed to set the value of the !EDIT_INPUT system variable to any value larger than 1 within your IDL startup file (as controlled by the IDL_STARTUP preference). If IDL found such a value for !EDIT_INPUT, it used it to size the recall buffer.
- X11 Graphics Options — a number of X11 options can be specified withX11 resources, commonly specified in
.Xdefaultsor.idldefiles.
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:
In all such cases, IDL goes through the following steps:
- 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.
- 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)
- If the value was migrated, IDL issues an informational message explaining that it has happened.
- 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.
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.
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.
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.
Committed changes take effect immediately. The default value is True (1).