not a bug, just is the way mirc handles tokens. Mirc divides the words by spaced to get $1, $2, ..., $N so any "whitespace" is killed. Same if you had
var %a = 1, %test = 1.......2.3.4.5
while ($gettok(%text, %a, 46)) {
var %N [ $+ [ %a ] ] = $gettok(%test, %a, 46)
/inc %a
}
%N1 = 1
%N2 = 2
%N3 = 3
The multiple delimiters are converted into 1.