Ah well that's good to know.
The problem of $highlight is that non technical user cannot just use "if ($highlight(text)) { do something }"
The above code fails on various occasion:
if 'text' is a number, you get a false positive, if you check the simple "if (text !isnum)", it fails on 1.1, but 1.1 for 'text' wouldn't be a problem in if ($highlight(text)).
If your highlight entry is set to use the method 'nick', you cannot use if ($highlight(text)), you have to loop over $highlight(N), check if that entry is a nick method match with $highlight(N).nicks, then use the nickname, such as $nick, rather than the 'text', in a custom if statement (which would depends if you are using regex match or wildcard (and this is extremely tricky because I believe non regex match are handled in a very special way by mIRC, a bit like how hotlink are handling surrounding characters to nickname, even for a non-beginner user, one has to figure out how mIRC is making the match exactly))
So basically one has to always loop over $highlight(N) and check the various property .regex .cs .nicks and use the appropriate if statements, something like what horst was mentioning in the thread I linked to in my previous post, also more or less shown
hereIt cannot be expected for non tech user to figure out all of this, it's not impossible to do for sure, $highlight() does provide a way to do it, but I still think mIRC should have something for it.
Perhaps something like $ishighlight(text,[nickname]) returning $true/$false, with a corresponding $ishighlight.type returning the type ("message", "nickname", or "both") and $ishighlight.entry returning the Nth entry (returning the entry itself would be an issue to access $highlight() properly, if it's a number for example) of the last call to $ishighlight()