=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/parse/eval.c,v retrieving revision 1.77 retrieving revision 1.79 diff -u -p -r1.77 -r1.79 --- OpenXM_contrib2/asir2000/parse/eval.c 2017/08/31 02:36:21 1.77 +++ OpenXM_contrib2/asir2000/parse/eval.c 2018/03/28 05:27:22 1.79 @@ -45,7 +45,7 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/asir2000/parse/eval.c,v 1.76 2017/02/07 08:30:31 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/parse/eval.c,v 1.78 2018/03/27 06:29:19 noro Exp $ */ #include #include "ca.h" @@ -61,6 +61,7 @@ extern JMP_BUF timer_env; extern FUNC cur_binf; extern NODE PVSS; +extern int evalef; int f_break,f_return,f_continue; int evalstatline; @@ -90,6 +91,7 @@ pointer eval(FNODE f) GFSN gfsn; RANGE range; QUOTE expr,pattern; + Q q; #if defined(VISUAL) || defined(__MINGW32__) check_intr(); @@ -297,7 +299,8 @@ pointer eval(FNODE f) case I_STR: MKSTR(str,FA0(f)); val = (pointer)str; break; case I_FORMULA: - val = FA0(f); break; + val = FA0(f); + break; case I_LIST: evalnodebody((NODE)FA0(f),&tn); MKLIST(t,tn); val = (pointer)t; break; case I_CONS: @@ -760,15 +763,15 @@ pointer evalstat(SNODE f) } break; case S_BREAK: - if ( GPVS != CPVS ) + if ( 1 || GPVS != CPVS ) f_break = 1; break; case S_CONTINUE: - if ( GPVS != CPVS ) + if ( 1 || GPVS != CPVS ) f_continue = 1; break; case S_RETURN: - if ( GPVS != CPVS ) { + if ( 1 || GPVS != CPVS ) { val = eval((FNODE)FA0(f)); f_return = 1; } break;