The /unset command removes any variables by their specified names. If a wildcard pattern was specified, all variables matching that pattern will be removed. The /unset command can be used to remove both local and global variables, however it can only remove one of them per name. Local variables take precedence over a global variable with the same name.
Note: /unset has an evaluation issue with dynamic variables, you can read more here
Synopsis
/unset [-slg] <%var> [%var2 [%var3...]]
Switches
- -s - Display an output showing the variables that are unset
Parameters
None
Example
The most basic usage is to unset a specific variable:
/unset %foobar
Local variables take precedence over a global variable with the same name.
alias global_local { set %foo 1 var %foo 2 echo -a %foo unset %foo echo -a %foo unset %foo }
Which will produce the following result:
2 1
/unset can only remove a local or global variable per each name specified, however it’s possible to remove both by specifying the variable name twice, for example:
alias global_local2 { set %foo 1 var %foo 2 ; unset both at once unset %foo %foo ; will print empty quotes echo -a $qt(%foo) }
Which will print empty quotes:
""
No evaluation brackets are needed when unsetting dynamic variables:
alias dynamic_vars { var -s %foo. $+ $calc(1+2) Test var -s %bar. $+ $calc(1+3) Test unset -s %foo. $+ $calc(1+2) %bar. $+ $calc(1+3) }
Which will produce the following results:
* Set %foo.3 to Test - * Set %bar.4 to Test - * Unset %foo.3 - * Unset %bar.4
if multiple cleaning
/unset %semple,%foo,%cocorico,%mirc,%ms
alias unset { tokenize 44 $1- !.unset $* }
Compatibility
Added: mIRC v4.0
Added on: 20 Mar 1996
Note: Unless otherwise stated, this was the date of original functionality.
Further enhancements may have been made in later versions.