If needed, import dmh package commands into the global namespace so that applications work with the new or the older Tcl versions.
With Tcl version, 8.4, the command lset became a core command of Tcl, which conflicted with a dmh package command of the same name. The name conflict with the dmh package is the motivation to cleanup the dmh package by moving commands and variables into the namespace dmh. New applications can choose which package commands to import into the global namespace, so future conflicts are avoidable.
As detailed below, most existing applications will run without change after calling dmh_import. It is ok to call dmh_import when using Tcl 8.3, and this is the supported and proper way to code applications to run with both Tcl 8.3 and 8.4+.
To run Tcl 8.3 dmh package applications with Tcl 8.4+, you need to:
If you restore the old lset you will not be able to use the new core lset command, but you may skip the next step.
The Hume GEM applications have been revised to call dmh_import without restoring the old lset. If you have custom code that uses lset, in order to run with Tcl 8.4+, you need to either revise the lset usages to vset, or customize your application startup to call dmh_import with the lset restore option set to 1. You do not need to change your custom code to continue running on Tcl 8.3 with or without the latest dmh package or GEM application changes.