Changeset a3bc95e in git for Singular/ipshell.cc


Ignore:
Timestamp:
Oct 9, 2001, 6:36:27 PM (23 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'spielwiese', '17f1d200f27c5bd38f5dfc6e8a0879242279d1d8')
Children:
7497ef3773fc1afff892546445b1d82b1cf0fb05
Parents:
e58c4abd91b68d128331a23f3f9dd76dff924048
Message:
*hannes: namespaces ->ns


git-svn-id: file:///usr/local/Singular/svn/trunk@5651 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/ipshell.cc

    re58c4a ra3bc95e  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: ipshell.cc,v 1.67 2001-09-27 13:13:03 Singular Exp $ */
     4/* $Id: ipshell.cc,v 1.68 2001-10-09 16:36:06 Singular Exp $ */
    55/*
    66* ABSTRACT:
     
    244244      {
    245245        idhdl nexth = IDNEXT(h);
    246         killhdl(h,localhdl);
     246        killhdl2(h,localhdl);
    247247        h = nexth;
    248248        //PrintS("kill\n");
     
    259259void killlocals(int v)
    260260{
     261#ifndef HAVE_NS
    261262  killlocals0(v,&IDROOT);
     263#else
     264  killlocals0(v,&(currPack->idroot));
     265  if (currPack!=basePack)
     266  {
     267    //PrintS("killlocals in Top\n");
     268    killlocals0(v,&(basePack->idroot));
     269  }
     270#endif
    262271
    263272  if ((iiRETURNEXPR_len > myynest)
     
    270279
    271280  idhdl sh=currRingHdl;
     281  ring sr=currRing;
    272282  BOOLEAN changed=FALSE;
    273283#ifndef HAVE_NAMESPACES
     284#ifdef HAVE_NS
     285  idhdl h = currPack->idroot;
     286#else
    274287  idhdl h = IDROOT;
    275 
     288#endif
     289
     290//  Print("killlocals in %s\n",IDID(currPackHdl));
    276291  while (h!=NULL)
    277292  {
     
    279294    && (IDRING(h)->idroot!=NULL))
    280295    {
    281       if (h!=currRingHdl) {changed=TRUE;rSetHdl(h);}
     296      if (IDRING(h)!=currRing) {changed=TRUE;rSetHdl(h);}
    282297      killlocals0(v,&(IDRING(h)->idroot));
    283298    }
    284299    h = IDNEXT(h);
    285300  }
     301#ifdef HAVE_NS
     302  if (currPack!=basePack)
     303  {
     304    //PrintS("killlocals in Top\n");
     305    h=basePack->idroot;
     306    while (h!=NULL)
     307    {
     308      if (((IDTYP(h)==QRING_CMD) || (IDTYP(h) == RING_CMD))
     309      && (IDRING(h)->idroot!=NULL))
     310      {
     311        //Print("go to %s\n",IDID(h));
     312        if (IDRING(h)!=currRing) {changed=TRUE;rSetHdl(h);}
     313        killlocals0(v,&(IDRING(h)->idroot));
     314      }
     315      h = IDNEXT(h);
     316    }
     317  }
     318#endif
    286319#else
    287320  idhdl h = NSROOT(namespaceroot->root);
     
    322355    currRingHdl=NULL;
    323356    if (sh!=NULL) rSetHdl(sh);
     357    else if (sr!=NULL)
     358    {
     359      sh=rFindHdl(sr,NULL,NULL);
     360      rSetHdl(sh);
     361    }
    324362  }
    325363
    326364  if (myynest<=1) iiNoKeepRing=TRUE;
     365  //Print("end killlocals  >= %d\n",v);
     366  //listall();
    327367}
    328368
     
    613653#else
    614654  r=IDROOT->get(theMap->preimage,myynest);
     655#ifdef HAVE_NS
     656  if ((currPack!=basePack)
     657  &&((r==NULL) || ((r->typ != RING_CMD) && (r->typ != QRING_CMD))))
     658    r=basePack->idroot->get(theMap->preimage,myynest);
     659#endif /* HAVE_NS */
    615660#endif /* HAVE_NAMESPACES */
    616661  if ((r!=NULL) && ((r->typ == RING_CMD) || (r->typ== QRING_CMD)))
     
    887932#endif /* HAVE_NAMESPACES */
    888933    {
     934      if (name->rtyp==IDHDL) { id=omStrDup(id); }
    889935      sy->data = (char *)enterid(id,lev,t,root,init_b);
    890936    }
     
    9591005            if (iiLocalRing[0]==IDRING(h)) iiLocalRing[0]=NULL;
    9601006#else
     1007#endif
    9611008            proclevel *p=procstack;
    9621009            while (p->next!=NULL) p=p->next;
     
    9661013              p->currRingHdl=NULL;
    9671014            }
    968 #endif
    969         killhdl(h,root);
     1015//#endif
     1016        killhdl2(h,root);
    9701017      }
    9711018      else
     
    10941141BOOLEAN iiExport (leftv v, int toLev)
    10951142{
     1143  checkall();
    10961144  BOOLEAN nok=FALSE;
    10971145  leftv r=v;
     
    11141162  }
    11151163  r->CleanUp();
     1164  checkall();
    11161165  return nok;
    11171166}
     
    11421191            Warn("redefining %s",IDID(old));
    11431192          }
    1144           killhdl(old,&root);
     1193          killhdl2(old,&root);
    11451194        }
    11461195        else
     
    11651214BOOLEAN iiExport (leftv v, int toLev, idhdl root)
    11661215{
     1216  checkall();
    11671217  BOOLEAN nok=FALSE;
    11681218  leftv rv=v;
     
    11861236            Warn("redefining %s",IDID(old));
    11871237          }
    1188           killhdl(old,&root);
     1238          killhdl2(old,&root);
    11891239        }
    11901240        else
     
    12031253  }
    12041254  rv->CleanUp();
     1255  checkall();
    12051256  return nok;
    12061257}
Note: See TracChangeset for help on using the changeset viewer.