Changeset 6f3743 in git for Singular/ipshell.cc
- Timestamp:
- Jan 7, 2002, 6:19:01 PM (22 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- 692689de70864c2fce92fb4c9b577701c0b415d4
- Parents:
- a78f216ad977180b2aa143c9f91e2f120df62774
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/ipshell.cc
ra78f216 r6f3743 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: ipshell.cc,v 1. 69 2001-10-23 14:04:23Singular Exp $ */4 /* $Id: ipshell.cc,v 1.70 2002-01-07 17:19:01 Singular Exp $ */ 5 5 /* 6 6 * ABSTRACT: … … 341 341 #endif 342 342 #ifdef HAVE_NS 343 void killlocals_rec(idhdl *root, BOOLEAN &changed,int v)343 void killlocals_rec(idhdl *root,int v) 344 344 { 345 345 idhdl h=*root; … … 350 350 // Print("kill %s, lev %d for lev %d\n",IDID(h),IDLEV(h),v); 351 351 idhdl n=IDNEXT(h); 352 if (((IDTYP(h)==RING_CMD)||(IDTYP(h)==QRING_CMD))353 && (IDRING(h)==currRing))354 changed=TRUE;355 352 killhdl2(h,root); 356 353 h=n; … … 360 357 // Print("into pack %s, lev %d for lev %d\n",IDID(h),IDLEV(h),v); 361 358 if (IDPACKAGE(h)!=basePack) 362 killlocals_rec(&(IDRING(h)->idroot), changed,v);359 killlocals_rec(&(IDRING(h)->idroot),v); 363 360 h=IDNEXT(h); 364 361 } … … 371 368 if (currRing!=IDRING(h)) 372 369 { 373 changed=TRUE;374 370 ring sr=currRing; 375 371 rChangeCurrRing(IDRING(h)); 376 killlocals_rec(&(IDRING(h)->idroot), changed,v);372 killlocals_rec(&(IDRING(h)->idroot),v); 377 373 rChangeCurrRing(sr); 378 374 } 379 375 else 380 376 { 381 killlocals_rec(&(IDRING(h)->idroot), changed,v);377 killlocals_rec(&(IDRING(h)->idroot),v); 382 378 } 383 379 } … … 395 391 BOOLEAN changed=FALSE; 396 392 idhdl sh=currRingHdl; 397 if (sh!=NULL) changed=(IDLEV(sh)>=v); 393 if (sh!=NULL) changed=((IDLEV(sh)<v) || (IDRING(sh)->ref>0)); 394 //if (changed) Print("currRing=%s(%x), lev=%d,ref=%d\n",IDID(sh),IDRING(sh),IDLEV(sh),IDRING(sh)->ref); 398 395 ring sr=currRing; 399 396 400 killlocals_rec(&(basePack->idroot), changed,v);397 killlocals_rec(&(basePack->idroot),v); 401 398 402 399 if ((iiRETURNEXPR_len > myynest) … … 415 412 { 416 413 sh=rFindHdl(sr,NULL,NULL); 417 rSetHdl(sh); 414 //if (sh==NULL) { Print("could not find ring %x\n",sr); listall(); } 415 if (sh!=NULL) rSetHdl(sh); 418 416 } 419 417 } … … 1080 1078 IDLEV(h)=toLev; 1081 1079 iiNoKeepRing=FALSE; 1080 //Print("export %s\n",IDID(h)); 1082 1081 } 1083 1082 return FALSE; … … 1167 1166 { 1168 1167 //Print("// ==> Ringdependent set nesting to 0\n"); 1169 if(iiInternalExport(v, toLev)) return TRUE;1168 return (iiInternalExport(v, toLev)); 1170 1169 } 1171 1170 else … … 1178 1177 { 1179 1178 idhdl hh=IDROOT; 1180 while ((hh ->next!=h)&&(hh->next!=NULL))1179 while ((hh!=NULL) && (hh->next!=h)) 1181 1180 hh=hh->next; 1182 if ( hh->next==h)1181 if ((hh!=NULL) && (hh->next==h)) 1183 1182 hh->next=h->next; 1184 1183 else
Note: See TracChangeset
for help on using the changeset viewer.