I've been troubleshooting a script error for quite some time and the problem seems to stem from the way some variables are reevaluated when set by a timer.

Example 1:
//set -s %test.var $eval($file(mirc.exe).version,0) | set -s %new.var %test.var

Expected return:

Example 2:
//set -s %test.var $eval($file(mirc.exe).version,0) | timer 1 1 set -s %new.var %test.var

Unexpected return:

timer 1 1 set -s %new.var $eval(%test.var,0) gives me the desired result, but I don't recall ever seeing this mentioned in the documentation.