Fixes a regression in correctly evaluating default param values for functions (#9614)

* Fix: bug in multivalue default params

* Enhance release notes for version 5.4.0

Updated GitHub links and contributors for release notes.

* Add FunctionDefaultValues test for default parameters

* Update function default values in FunctionDefaultValues.tid

* Update #8972.tid

* fix: correctly resolve default values for functions

* Update #8972.tid
This commit is contained in:
Saq Imtiaz
2026-02-04 12:12:42 +01:00
committed by GitHub
parent f6fd5ff261
commit 891e4fcb2b
3 changed files with 23 additions and 5 deletions

View File

@@ -160,7 +160,7 @@ Widget.prototype.getVariableInfo = function(name,options) {
});
// Parameters are an array of {name:, value:, multivalue:} pairs (name and multivalue are optional)
$tw.utils.each(params,function(param) {
if(param.multiValue) {
if(param.multiValue && param.multiValue.length) {
variables[param.name] = param.multiValue;
} else {
variables[param.name] = param.value || "";
@@ -233,8 +233,10 @@ Widget.prototype.resolveVariableParameters = function(formalParams,actualParams)
paramMultiValue = typeof param === "string" ? [param] : (param.multiValue || [paramValue]);
}
// If we've still not got a value, use the default, if any
paramValue = paramValue || paramInfo["default"] || "";
paramMultiValue = paramMultiValue || [paramValue];
if(!paramValue) {
paramValue = paramInfo["default"] || "";
paramMultiValue = [paramValue];
}
// Store the parameter name and value
results.push({name: paramInfo.name, value: paramValue, multiValue: paramMultiValue});
}