Table of Contents

Quirks in mIRC

This page is meant to be an unnordered placeholder for all the little quirks in mIRC that either need little explanation or still warrant an in depth explanation.

Weird $eval behaviour

When $eval() or $() is used to evaluate text that is just either "{" or "}", and N is a number greater than 0 and less than 4294967296, then $eval() returns N-1. Otherwise, $eval() returns text.

alias test { 
  var %e = 8
    while (%e) { 
      echo -s Number: %e
      %e = $({,%e)
    }
  }
}

(Note: There is some odd behavior for numbers greater than 4294967296, but they have not been explored in depth yet.)

$*

$* appears to store the raw data as `~$*

alias test { 
  tokenize 32 1 2 3 4
  echo $left($*,1) $left($*,2) $left($*,3) $left($*,4) $right($*,1) $right($*,2) $right($*,3) $right($*,4) `~$*
}

This returns:

` `~ `~$ 1 * $* ~$* 1 1
` `~ `~$ 2 * $* ~$* 2 2
` `~ `~$ 3 * $* ~$* 3 3
` `~ `~$ 4 * $* ~$* 4 4

Furthermore, $* will only evaluate correctly when it is evaluated last. One way around this is to use brackets.