Since ECMerge 2.2, we introduced 'macro
settings'. These settings are saved inside the Ellié
Computing Merge settings file.
What is the usage of these macro settings?
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.
What are exactly these "macro settings" and how are
they handled?
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.