im not sure if this is really a 'bug', but in my opinion the behavior of $ifmatch should be changed. currently, it returns the $ifmatch of the last if statement, regardless of its location in relation to the currently executing script. an example:
alias one {
if ($time) {
two
echo $ifmatch
}
}
alias two {
if ($version) { return }
}
the above code returns the version of mIRC you are using (the $ifmatch of the 'two' command), when (at least in my opinion) it should return $time (the match of the last if statement in the current procedure).