Index: tol/init.cpp
===================================================================
--- tol/init.cpp	(revision a51383f1905d59a010c9583e255bee7b22d66a3c)
+++ tol/init.cpp	(revision bfc7e458c9048ced4b5bfbd4d2df206afbc4dae1)
@@ -1201,5 +1201,5 @@
 
 //--------------------------------------------------------------------
-  bool InitTOLFile(const char* str)
+bool InitTOLFile(const char* str, bool loadDefaultPackages)
 //--------------------------------------------------------------------
 {
@@ -1213,4 +1213,12 @@
     Std(I2("\nLoading standard TOL library ",
            "\nCargando la libreria estandar de TOL ") + txt +"\n");
+    if ( loadDefaultPackages )
+      {
+      GraReal()->EvaluateExpr( "Real __NODEFAULTPACKAGES=0;" );
+      }
+    else
+      {
+      GraReal()->EvaluateExpr( "Real __NODEFAULTPACKAGES=1;" );
+      }
     initTol_ = GraSet()->EvaluateExpr(Out()+"Set InitTol = Include(\""+txt+"\")");
     if(initTol_) 
@@ -1246,5 +1254,5 @@
 
 //--------------------------------------------------------------------
-void LoadInitLibrary(int loadInitProject)
+void LoadInitLibrary(int loadInitProject, int loadDefaultPackages)
 //--------------------------------------------------------------------
 {
@@ -1256,5 +1264,5 @@
   if (initTolPath.Exist()) 
   {
-    InitTOLFile(initTolPath.Name());
+    InitTOLFile(initTolPath.Name(), loadDefaultPackages);
     if(loadInitProject)
     {
@@ -1526,4 +1534,5 @@
   BList* stack = NIL;
   bool loadInitProject = true;
+  bool loadDefaultPackages = true;
   if(!helpMode) {
     BInt i = 1;
@@ -1538,4 +1547,5 @@
         BText par = arg.SubString(2,arg.Length()-1);
              if  (arg == "-np") { loadInitProject=false; }
+        else if  (arg == "-ndp") { loadDefaultPackages=false;}
         else if  (com == 'v') { ChangeVerboseMode(arg.String()+1); }
         else if  (com == 'm') { ChangeVerboseMode(arg.String()+1); }
@@ -1549,5 +1559,5 @@
         {
           InitGrammars(argv[0]);
-          if(initTOL) { LoadInitLibrary(loadInitProject); }
+          if(initTOL) { LoadInitLibrary(loadInitProject,loadDefaultPackages); }
           Trace(I2("\nCompiling command line argument -c :\n",
                    "\nCompilando argumento -c de la línea de comandos :\n  ") + par+"\n");
@@ -1579,5 +1589,5 @@
       {
         InitGrammars(argv[0]);
-        if(initTOL) { LoadInitLibrary(loadInitProject); }
+        if(initTOL) { LoadInitLibrary(loadInitProject,loadDefaultPackages); }
         if(arg.HasName()) {
           BText fName = argv[i];
@@ -1683,5 +1693,5 @@
     InitGrammars(argv[0]);
     aliveObjects_1 = AliveObjects();
-    if(initTOL) { LoadInitLibrary(loadInitProject); }
+    if(initTOL) { LoadInitLibrary(loadInitProject,loadDefaultPackages); }
     aliveObjects_2 = AliveObjects();
     BOut::PutAllTerm(BTRUE);
Index: tol/stdlib/TolPackage/client.tol
===================================================================
--- tol/stdlib/TolPackage/client.tol	(revision a51383f1905d59a010c9583e255bee7b22d66a3c)
+++ tol/stdlib/TolPackage/client.tol	(revision bfc7e458c9048ced4b5bfbd4d2df206afbc4dae1)
@@ -261,5 +261,8 @@
   ////////////////////////////////////////////////////////////////////////////
   {
-    Set toRequire = Select(_.defaultPackages, Real(Set elem) { elem[2] });
+    Real tryDefaults = If( ObjectExist("Real", "__NODEFAULTPACKAGES"),
+                           Not(__NODEFAULTPACKAGES), 1 );
+    Set toRequire = Select(_.defaultPackages, Real(Set elem) 
+                           { And(tryDefaults, elem[2]) });
     Set done = EvalSet( toRequire, Real ( Set elem ) {
         NameBlock Require( elem[1] );
Index: tol/tol_init.h
===================================================================
--- tol/tol_init.h	(revision a51383f1905d59a010c9583e255bee7b22d66a3c)
+++ tol/tol_init.h	(revision bfc7e458c9048ced4b5bfbd4d2df206afbc4dae1)
@@ -35,5 +35,5 @@
 TOL_API void  InitCint              ();
 TOL_API void  InitializeFromMainArgs(int argc, char *argv[], char *env[]);
-TOL_API void  LoadInitLibrary       (int loadInitProject);
+TOL_API void  LoadInitLibrary       (int loadInitProject, int loadDefaultPackages);
 TOL_API void  InitTolKernel         (char* calledProgram, int lang, const char* vmode);
 
Index: tolbase/lib/toltk/init_toltk.tcl
===================================================================
--- tolbase/lib/toltk/init_toltk.tcl	(revision a51383f1905d59a010c9583e255bee7b22d66a3c)
+++ tolbase/lib/toltk/init_toltk.tcl	(revision bfc7e458c9048ced4b5bfbd4d2df206afbc4dae1)
@@ -295,4 +295,5 @@
 namespace import project::*
 set project::data(iniproject) 1
+set project::data(defaultpackages) 1
 set state ""
 set project::data(-project) $toltk_script_path
@@ -305,4 +306,7 @@
       -np {
         set project::data(iniproject) 0
+      }
+      -ndp {
+        set project::data(defaultpackages) 0
       }
       -project {
Index: tolbase/lib/toltk/project.tcl
===================================================================
--- tolbase/lib/toltk/project.tcl	(revision a51383f1905d59a010c9583e255bee7b22d66a3c)
+++ tolbase/lib/toltk/project.tcl	(revision bfc7e458c9048ced4b5bfbd4d2df206afbc4dae1)
@@ -172,5 +172,5 @@
     set iniproject ""
   }
-  tol::initlibrary $initol
+  tol::initlibrary -initproject $initol -defaultpackages $data(defaultpackages)
   if { $iniproject ne "" } {
     # incluyo _iniproject.tol relativo a -project
Index: tolsh/tolsh.vfs/lib/app-tolsh/tolsh.tcl
===================================================================
--- tolsh/tolsh.vfs/lib/app-tolsh/tolsh.tcl	(revision a51383f1905d59a010c9583e255bee7b22d66a3c)
+++ tolsh/tolsh.vfs/lib/app-tolsh/tolsh.tcl	(revision bfc7e458c9048ced4b5bfbd4d2df206afbc4dae1)
@@ -33,4 +33,5 @@
   set options(initlib) 1
   set options(iniproject) 1
+  set options(defaultpackages) 1
   set options(compile) ""
   set options(vmode)   ""
@@ -95,5 +96,7 @@
         # 
         set options(initlib) 0
-      } elseif {$opt eq "np"} {
+      } elseif {$opt eq "ndp"} {
+        set options(defaultpackages) 0
+      }  elseif {$opt eq "np"} {
         set options(iniproject) 0
       } elseif {[string index $opt 0] eq "c"} {
@@ -402,5 +405,6 @@
 
     if {$options(initlib)} {
-      tol::initlibrary $options(iniproject)
+      tol::initlibrary -initproject $options(iniproject) \
+          -defaultpackages $options(defaultpackages)
     }
     # why should I do that?
Index: toltcl/generic/toltcl.c
===================================================================
--- toltcl/generic/toltcl.c	(revision a51383f1905d59a010c9583e255bee7b22d66a3c)
+++ toltcl/generic/toltcl.c	(revision bfc7e458c9048ced4b5bfbd4d2df206afbc4dae1)
@@ -345,17 +345,44 @@
      Tcl_Obj *CONST objv[];  /* Argument objects */
 {
-  int loadIni;
-  int status;
-
-  if ( objc != 2 ) {
+  int loadInitProject = 1;
+  int loadDefaultPackages = 1;
+  int i;
+
+  if ( !( objc % 2 ) ) 
+    {
     Tcl_AppendResult(interp, "wrong # args: should be \"",
-                     Tcl_GetString(objv[0]), " 0|1\"", NULL);
-    return TCL_ERROR;
-  }
-  
-  if ( (status = Tcl_GetIntFromObj( interp, objv[1], &loadIni )) == TCL_OK ) {
-    LoadInitLibrary( loadIni );
-  }
-  return status;
+                     Tcl_GetString(objv[0]), " ?-initproject 0|1? ?-defaultpackages 0|1?\"", NULL);
+    return TCL_ERROR;    
+    }
+  for ( i = 1; i < objc; i += 2 )
+    {
+    if ( !strcmp( Tcl_GetString( objv[i] ), "-initproject" ) )
+      {
+      if ( Tcl_GetIntFromObj( interp, objv[i+1], &loadInitProject ) != TCL_OK ) 
+        {
+        Tcl_AppendResult( interp, "wrong value for option \"-initproject\"",
+                          NULL );
+        return TCL_ERROR;
+        }
+      }
+    else if ( !strcmp( Tcl_GetString( objv[i] ), "-defaultpackages" ) )
+      {
+      if ( Tcl_GetIntFromObj( interp, objv[i+1], &loadDefaultPackages ) != TCL_OK ) 
+        {
+        Tcl_AppendResult( interp, "wrong value for option \"-defaultpackages\"",
+                          NULL );
+        return TCL_ERROR;
+        }
+      }
+    else
+      {
+      Tcl_AppendResult( interp, "wrong option \"", 
+                        Tcl_GetString( objv[i] ),
+                        "\", must be: -initproject or -defaultpackages", NULL );
+      return TCL_ERROR;
+      }
+    }
+  LoadInitLibrary( loadInitProject, loadDefaultPackages );
+  return TCL_OK;
 }
 
@@ -1538,5 +1565,5 @@
     Tcl_AppendStringsToObj( obj_result, "wrong # args: should be '",
                            Tcl_GetString(objv[0]),
-                           " serieref ?statname ?args??'", NULL );
+                           " serieref ?statname ?args? ?'", NULL );
     tcl_result = TCL_ERROR;
   } else
