|
Joined: Oct 2003
Posts: 214
Fjord artisan
|
OP
Fjord artisan
Joined: Oct 2003
Posts: 214 |
This happens if i use $eval(%var,2) and the var contains an invalid Identifier like "$address(" if i use eval brackets i get the correct error message for $address and so on. This is with eval brackets alias eval1 {
var %i = $$1-,%o = [ [ %i ] ],%o = $iif(%o != $null,$ifmatch,$!null)
goto end
:error
var %o = $gettok($gettok($error,1,40),2-,32)
reseterror
:end
echo -a * %i == %o
} And this with $eval alias eval2 {
var %i = $$1-,%o = $iif($eval(%i,2) != $null,$ifmatch,$!null)
goto end
:error
var %o = $gettok($gettok($error,1,40),2-,32)
reseterror
:end
echo -a * %i == %o
}
one step closer to world domination
|
|
|
|
Joined: Dec 2003
Posts: 61
Babel fish
|
Babel fish
Joined: Dec 2003
Posts: 61 |
Does the ']' 'attached' to the ',' not give evaluation problems? alias eval1 { var %i = $$1-,%o = [ [ %i ] ],%o = $iif(%o != $null,$ifmatch,$!null) goto end :error var %o = $gettok($gettok($error,1,40),2-,32) reseterror :end echo -a * %i == %o } Does alias eval1 {
var %i = $$1-,%o = [ [ %i ] ] ,%o = $iif(%o != $null,$ifmatch,$!null)
goto end
:error
var %o = $gettok($gettok($error,1,40),2-,32)
reseterror
:end
echo -a * %i == %o
} give the same probs as $eval ?
Last edited by Aeron; 15/01/07 03:10 PM.
|
|
|
|
Joined: Oct 2003
Posts: 214
Fjord artisan
|
OP
Fjord artisan
Joined: Oct 2003
Posts: 214 |
$eval($address(,2) returns invalid format: $evalnext and [ [ $address( ] ] returns invalid format: $address so $eval($address(,2) should return also invalid format: $address and not $evalnext and the bracket next to the comma won't make problems 
one step closer to world domination
|
|
|
|
Joined: Feb 2003
Posts: 810
Hoopy frood
|
Hoopy frood
Joined: Feb 2003
Posts: 810 |
Well, $eval($address(,2) isn't really about $eval and/or $evalnext. Any identifier will fall into the same situation. For instance, $left($address(,1) shows "Invalid format: $left". There's no bug, though: mIRC assumes you're telling it to evaluate $left($address(,1), which results in $null returned by $address(,1) and then an error caused by a missing ')' bracket for $left(.
However, in your first post, you showed a situation where mIRC shouldn't do the same thing as above (when the wrong identifier syntax is represented by a %variable). To me, that's a bug in $eval().
Edit: By the way, regardless that $evalnext() is obviously connected to $eval(), I think there should be no $evalnext()-related error messages when you've not used it at all.
Last edited by cold; 17/01/07 06:53 PM.
* cold edits his posts 24/7
|
|
|
|
|