Changeset 16acb0 in git for Singular/ipshell.cc
- Timestamp:
- Jan 10, 2002, 1:33:24 PM (22 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- 49f194f6dfaec759b9494ac8650cf8cb70820a82
- Parents:
- 18ae159f1392067b5a2b51e34a5895b6044f3d59
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/ipshell.cc
r18ae159 r16acb0 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: ipshell.cc,v 1.7 0 2002-01-07 17:19:01Singular Exp $ */4 /* $Id: ipshell.cc,v 1.71 2002-01-10 12:33:20 Singular Exp $ */ 5 5 /* 6 6 * ABSTRACT: … … 244 244 { 245 245 idhdl nexth = IDNEXT(h); 246 killhdl2(h,localhdl );246 killhdl2(h,localhdl,currRing); 247 247 h = nexth; 248 248 //PrintS("kill\n"); … … 341 341 #endif 342 342 #ifdef HAVE_NS 343 void killlocals_rec(idhdl *root,int v )343 void killlocals_rec(idhdl *root,int v, ring r) 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 killhdl2(h,root );352 killhdl2(h,root,r); 353 353 h=n; 354 354 } … … 357 357 // Print("into pack %s, lev %d for lev %d\n",IDID(h),IDLEV(h),v); 358 358 if (IDPACKAGE(h)!=basePack) 359 killlocals_rec(&(IDRING(h)->idroot),v );359 killlocals_rec(&(IDRING(h)->idroot),v,r); 360 360 h=IDNEXT(h); 361 361 } … … 366 366 { 367 367 // Print("into ring %s, lev %d for lev %d\n",IDID(h),IDLEV(h),v); 368 if (currRing!=IDRING(h)) 369 { 370 ring sr=currRing; 371 rChangeCurrRing(IDRING(h)); 372 killlocals_rec(&(IDRING(h)->idroot),v); 373 rChangeCurrRing(sr); 374 } 375 else 376 { 377 killlocals_rec(&(IDRING(h)->idroot),v); 378 } 368 killlocals_rec(&(IDRING(h)->idroot),v,IDRING(h)); 379 369 } 380 370 h=IDNEXT(h); … … 393 383 if (sh!=NULL) changed=((IDLEV(sh)<v) || (IDRING(sh)->ref>0)); 394 384 //if (changed) Print("currRing=%s(%x), lev=%d,ref=%d\n",IDID(sh),IDRING(sh),IDLEV(sh),IDRING(sh)->ref); 395 ring sr=currRing; 396 397 killlocals_rec(&(basePack->idroot),v); 385 386 killlocals_rec(&(basePack->idroot),v,currRing); 398 387 399 388 if ((iiRETURNEXPR_len > myynest) … … 407 396 if (changed) 408 397 { 409 currRing=NULL; 410 currRingHdl=NULL; 411 if (sr!=NULL) 412 { 413 sh=rFindHdl(sr,NULL,NULL); 414 //if (sh==NULL) { Print("could not find ring %x\n",sr); listall(); } 415 if (sh!=NULL) rSetHdl(sh); 416 } 398 currRingHdl=rFindHdl(currRing,NULL,NULL); 417 399 } 418 400 … … 1068 1050 } 1069 1051 #endif 1070 killhdl2(h,root );1052 killhdl2(h,root,currRing); 1071 1053 } 1072 1054 else … … 1250 1232 Warn("redefining %s",IDID(old)); 1251 1233 } 1252 killhdl2(old,&root );1234 killhdl2(old,&root,currRing); 1253 1235 } 1254 1236 else … … 1295 1277 Warn("redefining %s",IDID(old)); 1296 1278 } 1297 killhdl2(old,&root );1279 killhdl2(old,&root,currRing); 1298 1280 } 1299 1281 else
Note: See TracChangeset
for help on using the changeset viewer.