/set can't set more than 1 variable at a time, from v4.0:
40.Added variable support:
/set [-q] <%var> [value]
/unset [-q] <%var> [%var2] ... [%varN]
/unsetall
/inc [-q] <%var> [value]
/dec [-q] <%var> [value]
Can be edited in Variables section in remote dialog.
When support was added to leave off the '/set' in v4.5:
55.You can now use an = (equal sign) to assign values to
variables.
%x = 5 + 1
%x = 5 - %y
%x = %x * 2
%x = %z / $2
%x = %x % 3
Can only perform a single operation in an assignment
at this time. You can also still do /set %x 5 + 1.
The context of using the '=' to assign a value to the variable was introduced.
But this still only allowed for one variable to be assigned at a time.
/var has always been able to set multiple variables at a time, from it's introduction in v5.6:
99.Added support for local variables by using the /var command:
var %x = 1, %y, %z = $me
Local variables can only be used in the alias in which they
were created and are destroyed when the alias terminates.
There have been subsequent fixes:
v5.61:
67.Fixed /var bug which may have caused a gpf if /var was used
incorrectly.
v5.71:
62.Improved /var, now handles identifiers containing commas better
though note that you should use the equal sign in the definition,
eg. /var %x = etc.
And one addition in v5.80:
94.Added /var -s switch to show local variable being set.
But as is shown above, the documentation has always stated the requirement of the '=' when assigning a value.
The fix in v5.71 even re-iterates the requirement for the '=', and the context of the bug highlights the possibility of parsing issues with values containing comma's.
The ability to assign a value without an '=' in the '/var' command has always been a happy-accident.