X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=csrc%2Fpfcompil.c;h=a3f44f3b270d6ef40e4b41959387f3be0a595353;hb=92f564237b44db2747f921d2f31d071f8217fdd9;hp=467d1e81a8365380fa51502cbc1b212f1f645bfb;hpb=406a0545a94f43e880e883da3673f705467ecab3;p=debian%2Fpforth diff --git a/csrc/pfcompil.c b/csrc/pfcompil.c index 467d1e8..a3f44f3 100644 --- a/csrc/pfcompil.c +++ b/csrc/pfcompil.c @@ -258,6 +258,9 @@ PForthDictionary pfBuildDictionary( cell_t HeaderSize, cell_t CodeSize ) CreateDicEntryC( ID_FILE_WRITE, "WRITE-FILE", 0 ); CreateDicEntryC( ID_FILE_POSITION, "FILE-POSITION", 0 ); CreateDicEntryC( ID_FILE_REPOSITION, "REPOSITION-FILE", 0 ); + CreateDicEntryC( ID_FILE_FLUSH, "FLUSH-FILE", 0 ); + CreateDicEntryC( ID_FILE_RENAME, "(RENAME-FILE)", 0 ); + CreateDicEntryC( ID_FILE_RESIZE, "(RESIZE-FILE)", 0 ); CreateDicEntryC( ID_FILE_RO, "R/O", 0 ); CreateDicEntryC( ID_FILE_RW, "R/W", 0 ); CreateDicEntryC( ID_FILE_WO, "W/O", 0 ); @@ -978,7 +981,7 @@ ThrowCode ffIncludeFile( FileStream *InputFile ) ***************************************************************/ Err ffPushInputStream( FileStream *InputFile ) { - cell_t Result = 0; + Err Result = 0; IncludeFrame *inf; /* Push current input state onto special include stack. */ @@ -1155,7 +1158,11 @@ cell_t ffRefill( void ) /* ACCEPT is deferred so we call it through the dictionary. */ PUSH_DATA_STACK( gCurrentTask->td_SourcePtr ); PUSH_DATA_STACK( TIB_SIZE ); - pfCatch( gAcceptP_XT ); + ThrowCode throwCode = pfCatch( gAcceptP_XT ); + if (throwCode) { + Result = throwCode; + goto error; + } Num = POP_DATA_STACK; if( Num < 0 ) {