Changeset 256 for trunk/thune/eval.c

Show
Ignore:
Timestamp:
08/23/06 22:57:23 (2 years ago)
Author:
krobillard
Message:

Thune - Selected values are now evaluated.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/thune/eval.c

    r249 r256  
    10501050 
    10511051        case UT_SELECT: 
    1052             // TODO: select! needs to call functions, block on unset, etc. 
    1053             if( ! ur_getSelector( ur_thread, val, UR_S_GROW ) ) 
     1052        { 
     1053            // Selected value gets put in reserve area at end of stack. 
     1054            UCell* sval = ur_s_next( ur_thread->eos ); 
     1055 
     1056            if( ! ur_getSelector( ur_thread, val, sval ) ) 
    10541057            { 
    10551058                _appendTraceBlk( &UR_TOS->err, blkN, pc - start - 1 ); 
    10561059                goto throw_cc; 
    10571060            } 
    1058             break; 
     1061            val = sval; 
     1062            if( ur_is(sval, UT_SELECT) ) 
     1063                goto push_val; 
     1064        } 
     1065            goto do_val; 
    10591066 
    10601067        case UT_SETSELECT: