mirror of
https://github.com/albertodemichelis/squirrel.git
synced 2026-01-12 14:38:42 +01:00
fix free variables in generators
This commit is contained in:
@ -1006,8 +1006,9 @@ exception_restore:
|
||||
case _OP_YIELD:{
|
||||
if(ci->_generator) {
|
||||
if(sarg1 != MAX_FUNC_STACKSIZE) temp_reg = STK(arg1);
|
||||
if (_openouters) CloseOuters(&_stack._vals[_stackbase]);
|
||||
_GUARD(ci->_generator->Yield(this,arg2));
|
||||
traps -= ci->_etraps;
|
||||
traps -= ci->_etraps;
|
||||
if(sarg1 != MAX_FUNC_STACKSIZE) _Swap(STK(arg1),temp_reg);//STK(arg1) = temp_reg;
|
||||
}
|
||||
else { Raise_Error(_SC("trying to yield a '%s',only genenerator can be yielded"), GetTypeName(ci->_generator)); SQ_THROW();}
|
||||
|
||||
Reference in New Issue
Block a user