diff --git a/sources/comexpr.c b/sources/comexpr.c index e3d5dc2e..586e71eb 100644 --- a/sources/comexpr.c +++ b/sources/comexpr.c @@ -816,6 +816,7 @@ IllLeft:MesPrint("&Illegal LHS"); return(1); } if ( error == 0 ) { + WORD oldpolyfun = AR.PolyFun; if ( NewSort(BHEAD0) || NewSort(BHEAD0) ) { if ( !error ) error = 1; return(error); @@ -826,13 +827,15 @@ IllLeft:MesPrint("&Illegal LHS"); while ( --i >= 0 ) *ww++ = *mm++; AT.WorkPointer = ww; AC.lhdollarflag = 0; oldEside = AR.Eside; AR.Eside = LHSIDE; AR.Cnumlhs = C->numlhs; + AR.PolyFun = 0; if ( Generator(BHEAD ow,C->numlhs) ) { AR.Eside = oldEside; - LowerSortLevel(); LowerSortLevel(); goto IllLeft; + LowerSortLevel(); LowerSortLevel(); AR.PolyFun = oldpolyfun; goto IllLeft; } AR.Eside = oldEside; AT.WorkPointer = w; - if ( EndSort(BHEAD w,0) < 0 ) { LowerSortLevel(); goto IllLeft; } + if ( EndSort(BHEAD w,0) < 0 ) { LowerSortLevel(); AR.PolyFun = oldpolyfun; goto IllLeft; } + AR.PolyFun = oldpolyfun; if ( *w == 0 || *(w+*w) != 0 ) { MesPrint("&LHS must be one term"); AC.lhdollarflag = 0; diff --git a/sources/findpat.c b/sources/findpat.c index be3482e1..8e13de8c 100644 --- a/sources/findpat.c +++ b/sources/findpat.c @@ -387,7 +387,7 @@ OnlyL10: AddWild(BHEAD *m-WILDOFFSET,VECTOVEC,newval1); */ else { MLOCK(ErrorMessageLock); - MesPrint("Error in pattern"); + MesPrint("Error in pattern(1)"); MUNLOCK(ErrorMessageLock); Terminate(-1); } @@ -930,7 +930,7 @@ OnceL8a: mt -= 2*MAXPOWER; */ else { MLOCK(ErrorMessageLock); - MesPrint("Error in pattern"); + MesPrint("Error in pattern(2)"); MUNLOCK(ErrorMessageLock); Terminate(-1); } @@ -1050,7 +1050,7 @@ WORD FindMulti(PHEAD WORD *term, WORD *pattern) */ else { MLOCK(ErrorMessageLock); - MesPrint("Error in pattern"); + MesPrint("Error in pattern(3)"); MUNLOCK(ErrorMessageLock); Terminate(-1); }