Show
Ignore:
Timestamp:
07/07/07 04:41:31 (17 months ago)
Author:
krobillard
Message:

Setting words in the shared global store now throws an error.
Default binding changed so top-level set-words are added to thread context.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/thune/thread_safe/tokenize.c

    r426 r427  
    2929extern void ur_makeVec3( UCell* res, const char* spA, const char* spB ); 
    3030extern const char* ur_readBinary( UBinary*, const char* it, const char* end ); 
     31 
     32extern void ur_bindDefault( UThread*, UIndex blkN ); 
    3133 
    3234 
     
    299301 \return  Returns block index or zero if an error is thrown. 
    300302*/ 
    301 UIndex ur_tokenize( UThread* ut, const char* it, const char* end, 
    302                     void* tci ) 
     303UIndex ur_tokenize( UThread* ut, const char* it, const char* end ) 
    303304{ 
    304305    UArray stack; 
     
    314315    int macroNest = 0; 
    315316#endif 
    316  
    317     (void) tci; 
    318317 
    319318 
     
    441440                        UCell* otos; 
    442441                        UBlock* blk; 
     442                        UIndex blkN; 
    443443 
    444444                        otos = UR_TOS; 
    445                         ur_infuseOpcodes( ut, STACK[ stack.used ] ); 
    446                         tn = ur_eval( ut, STACK[ stack.used ], 0 ); 
     445                        blkN = STACK[ stack.used ]; 
     446 
     447                        ur_bindDefault( ut, blkN ); 
     448                        ur_infuseOpcodes( ut, blkN ); 
     449 
     450                        tn = ur_eval( ut, blkN, 0 ); 
    447451                        if( tn == UR_EVAL_ERROR ) 
    448452                        { 
     
    10351039    hold = STACK[0]; 
    10361040    ur_arrayFree( &stack ); 
     1041 
     1042    ur_bindDefault( ut, hold ); 
     1043 
    10371044    return hold; 
    10381045