X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=csrc%2Fpf_core.c;h=d5bd85fc3cc88079334212cc42321b2af049d521;hb=3c4c6950fd3a04bf6a23aab79777124372135d54;hp=67a9f70bd257426b2bb0a3d6320f2dca4f5835c3;hpb=861862f451bf6fea44c052b8a8733853fa2fe9d9;p=debian%2Fpforth diff --git a/csrc/pf_core.c b/csrc/pf_core.c index 67a9f70..d5bd85f 100644 --- a/csrc/pf_core.c +++ b/csrc/pf_core.c @@ -55,11 +55,14 @@ ExecToken gAcceptP_XT; /* XT of ACCEPT */ /* Depth of data stack when colon called. */ cell_t gDepthAtColon; -/* Global Forth variables. */ +/* Global Forth variables. +* These must be initialized in pfInit below. +*/ cell_t gVarContext; /* Points to last name field. */ cell_t gVarState; /* 1 if compiling. */ cell_t gVarBase; /* Numeric Base. */ -cell_t gVarEcho; /* Echo input. */ +cell_t gVarByeCode; /* Echo input. */ +cell_t gVarEcho; /* Echo input. */ cell_t gVarTraceLevel; /* Trace Level for Inner Interpreter. */ cell_t gVarTraceStack; /* Dump Stack each time if true. */ cell_t gVarTraceFlags; /* Enable various internal debug messages. */ @@ -97,7 +100,8 @@ static void pfInit( void ) gLocalCompiler_XT = 0; gVarContext = (cell_t)NULL; /* Points to last name field. */ gVarState = 0; /* 1 if compiling. */ - gVarEcho = 0; /* Echo input. */ + gVarByeCode = 0; /* BYE-CODE */ + gVarEcho = 0; /* Echo input. */ gVarTraceLevel = 0; /* Trace Level for Inner Interpreter. */ gVarTraceFlags = 0; /* Enable various internal debug messages. */ gVarReturnCode = 0; /* Returned to caller of Forth, eg. UNIX shell. */ @@ -572,7 +576,7 @@ ThrowCode pfDoForth( const char *DicFileName, const char *SourceName, cell_t IfI PF_USER_TERM; #endif - return Result; + return Result ? Result : gVarByeCode; error2: MSG("pfDoForth: Error occured.\n");