Quoted messaged snipped in some areas:
Bugs/Fixes:
$ulevel doesn't trigger for named levels. You have to use $level($fulladdress).
$event can't be used in the matchtext of an event (on text atleast).
$target - should return $nick istead of $me in query.
This identifier is propably set using the value in the RAW PRIVMSG command, but I can't see it having any use returning your own nickname. I would use $me for that. Better to use msg $target in a "on text:...:*:" event - both for querys and channel messages that is.
But maybe I haven't understand what it should be used for, seams completly useless to me. And changing it wont break any existing scripts... cause no one is using it? :-)
Suggestions:
$caller - show wich identifier/event called the function
/echoerror - A function that makes the life easier printing an error msg like the defult one: * /alias: error msg (line 1, script1.mrc).
The thing is that you can't write an global function that works in all your script, cause there is no thing to identify your current alias (like $caller i suggested), and you have to past the $scriptline to the function all the time.
Shouldn't be hard to implement when $error is already available. :- )
$target:
I find it useful when needing to know the difference between #channel and @#channel, to where the message was sent. A work around, for your needs: var %target = $iif($chan,$target,$nick)
$event works for me, even on "TEXT" (6.16 though, I'm reading the bug reports before I decide to use 6.17 or not)
$caller sounds like a great idea. Would be nice to also have $self for a seemingly redundant reason, to identify the current alias (or event) in trigger.
Use would be for an alias that someone could rename, and any internal help messages could use it, like say you have an alias of mojo with built in help:
echo -a Help: $self
echo -a $self(/) refresh will refresh your $self
echo -a $self(/.) refresh will refresh your $self silently.
Then you could rename it and the help would auto-rename in essence. I'm sure others could find a great use for this too.
Your mentioning the error tracking, I'd like for there to be a /tron and /troff
/tron to open a window (default name @Debug or something else), and anything that executes would show up in that window. Have options like just the scriptname and line#, to script name & event/alias, to script name and line by line visual execution, to also showing values as they are changed from original to new values. Also for use within a script, where it would turn on the debugging for the duration of that script (and any scripts it calls on, if '-c' is set (for children) for example.
Of course, should be an option to allow it to be used, to prevent or at least decrease the chances of it being used maliciously within scripts.