Actually it wouldn't fail in any case.

1) If one typed /blah $null hello (ie with one slash), $1 would be filled with the string "$null". In this case, if ($1 == $null) would be FALSE; if ($1 == $[color:red]!null)[/color] would be TRUE.

2) If //blah $null hello is issued (double slash), $1 wouldn't be $null; it would be "hello". In /commands, the tokenizing is done just like in token identifiers: null tokens are simply ignored and any leading/trailing token separators are stripped off. This also happens with null tokens in the middle of the string and is the root of the infamous "mirc kills multiple spaces" problem. Null tokens are permitted/preserved only in custom identifiers: $blah($null,hello) would fill $1 with $null and $2 with "hello".

Speaking of $0 though, I like your approach more because it's faster: $null has to be evaluated, 0 hasn't. Moreover, if you use (!$0) instead of ($0 == 0) (the latter isn't necessary since $0 will always be a number), it's even faster.


/.timerQ 1 0 echo /.timerQ 1 0 $timer(Q).com