The following script triggers a spurious error:
array A[3]
print A=1
###=> stack underflow (function call with missing parameters?)
The expression "A=1" is processed by the function "f_assign()", which handles both variable assignment (e.g., "A = 1") and array-element assignment (e.g., "A[2] = 10"). However, if "A" already holds an array, the function incorrectly takes the array-element assignment path, even when a variable assignment is intended, causing a stack underflow error.
To correctly distinguish between these two cases, "f_assign()" should check whether "arg->v_arg.type == ARRAY".
A patch file is attached.