47ff6d5de7
A <python> variable block previously saw only the parameters of the single collection the variable is linked to via 'col', injected as bare names plus par[]/parErr[]. To compute variables for several collections one therefore needed a separate block per collection. Now every loaded collection is additionally injected as coll[]/collErr[] dictionaries, addressable both by integer index (matching 'col <idx>' / 'select <idx>') and by collection name; index and name keys reference the same per-parameter dict. A single block placed after all 'var = python' declarations can thus compute - and combine - variables for any collection, e.g. coll[0]['Sigma'] or coll['NAME.db']['Sigma']. The bound-collection bare names / par[] / parErr[] are unchanged, so existing scripts and GUI variables keep working. The collection list is threaded through PmuppScript::var_cmd and the GUI add()/check() paths into PVarHandler. Verified: a one-block script using both an index key and a name key reproduces the numeric output of the equivalent two-block script bit-for-bit. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>