Since ECMerge 2.2, we introduced 'macro settings'. These settings are saved inside the Ellié Computing Merge settings file.
The idea behind macro settings is to let the macro conceptor to store data between two executions of a macro so as to ease the usage of the macro (and even between two runs of the ECMerge program).
A macro will thus store few data in the macro settings which are of interest when reusing the macro, such as MRU (Most Recently Used item lists). A macro which is configurable could store options as well there, for exemple, as menus are now available to macros, checkable menu items could store their state there so as to remain checked next time the macro is run.
The macro settings are stored in a simple ECMAScript Object
object, named 'scripts_settings' and member of
Application object.
You can store everything you want in that
object, though as it is serialized to text by ECMerge to store
it the configuration file, only lightweight collections
of objects are wishable else you might well
clutter starting / closing of ECMerge.
ECMerge uses the support for toSource() function new to version 2.2 ECMASCript engine to serialize the Application.scripts_settings object. This function is supported on all base types (as booleans, strings, numbers, Object objects, Array objects, Date objects, Error objects).
The _facility.js file (which you can find in application macro directory) contains functions which will help maintain MRU and macro settings in general, take time to read it as the function are documented directly in the scripts.