Changeset 64d729 in git for Singular/iplib.cc


Ignore:
Timestamp:
Apr 15, 1999, 7:28:06 PM (25 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
dd9b83cb6123e79d811d45dd8b7d79c748f994e6
Parents:
1518b9cf23aa2598228863099857cedec82668c2
Message:
* hannes: introduced debugger (hook and first implementation)


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

Legend:

Unmodified
Added
Removed
  • Singular/iplib.cc

    r1518b9 r64d729  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: iplib.cc,v 1.53 1999-04-01 10:09:58 krueger Exp $ */
     4/* $Id: iplib.cc,v 1.54 1999-04-15 17:28:04 Singular Exp $ */
    55/*
    66* ABSTRACT: interpreter: LIB and help
     
    245245  BOOLEAN err=FALSE;
    246246  int old_echo=si_echo;
     247  char save_flags=0;
     248  procinfov pi=NULL;
    247249
    248250  /* init febase ======================================== */
     
    250252  if (pn!=NULL)
    251253  {
    252     procinfov pi;
    253254    pi = IDPROC(pn);
    254255    if(pi!=NULL)
    255256    {
     257      save_flags=pi->trace_flag;
    256258      if( pi->data.s.body==NULL )
    257259      {
    258         iiGetLibProcBuffer(IDPROC(pn));
    259         if (IDPROC(pn)->data.s.body==NULL) return TRUE;
     260        iiGetLibProcBuffer(pi);
     261        if (pi->data.s.body==NULL) return TRUE;
    260262      }
    261       newBuffer( mstrdup(IDPROC(pn)->data.s.body), BT_proc,
    262                  pi, IDPROC(pn)->data.s.body_lineno );
    263     }
    264     //else
    265     //{ // for security only
    266     //  newBuffer( mstrdup(IDSTRING(pn)), BT_proc, IDID(pn) );
    267     //}
     263      newBuffer( mstrdup(pi->data.s.body), BT_proc,
     264                 pi, pi->data.s.body_lineno-(v!=NULL) );
     265    }
    268266  }
    269267  /* generate argument list ======================================*/
     
    280278  /* start interpreter ======================================*/
    281279  myynest++;
    282   //Print("%-*.*s PStart <<%s>>, level:%d\n",2*myynest,2*myynest," ",IDID(pn),myynest);
    283280  err=yyparse();
    284281  killlocals(myynest);
    285282  myynest--;
    286283  si_echo=old_echo;
    287   //Print("%-*.*s PEnd  <<%s>>, level:%d\n",2*myynest,2*myynest," ",IDID(pn),myynest);
    288 
     284  if (pi!=NULL)
     285    pi->trace_flag=save_flags;
    289286  return err;
    290287}
     
    628625  char libnamebuf[128];
    629626  package pack = IDPACKAGE(packhdl);
    630  
     627
    631628  if(pack->language == LANG_NONE) return FALSE;
    632  
     629
    633630  FILE * fp = feFopen( pack->libname, "r", libnamebuf, FALSE);
    634631  if (fp==NULL)
     
    766763  LoadResult = iiLoadLIB(fp, libnamebuf, newlib, NULL, FALSE, tellerror);
    767764#endif /* HAVE_NAMESPACES */
    768  
     765
    769766#ifdef HAVE_NAMESPACES
    770767  if(!LoadResult) IDPACKAGE(pl)->loaded = TRUE;
     
    836833  fclose( yylpin );
    837834  fp = NULL;
    838  
     835
    839836#ifdef HAVE_NAMESPACES
    840837  namespaceroot->pop();
     
    940937  int token;
    941938  char FullName[256];
    942  
     939
    943940  if( *fullname != '/' &&  *fullname != '.' )
    944941    sprintf(FullName, "./%s", newlib);
    945942  else strcpy(FullName, fullname);
    946  
     943
    947944
    948945  if(IsCmd(plib, &token))
     
    965962    {
    966963      Warn("not of typ package.");
    967       goto load_modules_end; 
     964      goto load_modules_end;
    968965    }
    969966  }
     
    974971    WerrorS("dynl_open failed");
    975972    Werror("%s not found", newlib);
    976     goto load_modules_end; 
     973    goto load_modules_end;
    977974  }
    978975  else
     
    988985  namespaceroot->pop();
    989986  return RET;
    990  
     987
    991988}
    992989#endif /* HAVE_DYNAMIC_LOADING */
     
    11441141  FILE * fp = feFopen( newlib, "r", libnamebuf, FALSE );
    11451142  ret = stat(libnamebuf, &sb);
    1146  
     1143
    11471144  if (fp==NULL)
    11481145  {
     
    11741171  }
    11751172  if(isprint(buf[0]) || buf[0]=='\n') { LT = LT_SINGULAR; goto lib_type_end; }
    1176  
     1173
    11771174  lib_type_end:
    11781175  fclose(fp);
Note: See TracChangeset for help on using the changeset viewer.