Index: toltcl/OTAN/ToltclLinux32/ToltclLinux32.tol
===================================================================
--- toltcl/OTAN/ToltclLinux32/ToltclLinux32.tol	(revision 536b3c1ee8433e7286a8a0973e4183db86b57a9d)
+++ toltcl/OTAN/ToltclLinux32/ToltclLinux32.tol	(revision 536b3c1ee8433e7286a8a0973e4183db86b57a9d)
@@ -0,0 +1,41 @@
+/* -*- mode: C++ -*- */
+//////////////////////////////////////////////////////////////////////////////
+// FILE   : ToltclLinux32.tol
+// PURPOSE: Defines Package ToltclLinux32
+//////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////
+NameBlock ToltclLinux32 = [[
+//////////////////////////////////////////////////////////////////////////////
+                       
+Text _.autodoc.name = "ToltclLinux32";
+Text _.autodoc.brief = "Support package to load Toltcl binaries on Linux32";
+Text _.autodoc.description = "This package load the Toltcl package on Linux which is compatible with the TOL 3.1";
+Text _.autodoc.url = "http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php";
+Set _.autodoc.keys = [["Tcl","Core", "Toltcl"]];
+Set _.autodoc.authors = [[ "josp@tol-project.org" ]];
+Text _.autodoc.minTolVersion =  "v3.1";
+Text _.autodoc.maxTolVersion =  "v3.1 p.999";
+Real _.autodoc.version.high = 3;
+Real _.autodoc.version.low = 1;
+Set _.autodoc.dependencies = Copy(Empty);
+Set _.autodoc.nonTolResources = { [[
+  Text lib="lib"
+]] };
+Text _.autodoc.versionControl = AvoidErr.NonDecAct(OSSvnInfo("."));
+
+Text _.libDir = "";
+
+Text GetLibDir( Real void )
+{
+  Text _.libDir
+};
+
+////////////////////////////////////////////////////////////////////////////
+Real StartActions(Real void)
+////////////////////////////////////////////////////////////////////////////
+{
+  Text _.libDir := GetAbsolutePath( "." ) + "/lib/";
+  Real True
+}
+]];
Index: toltcl/OTAN/ToltclLinux32/lib/toltcl/pkgIndex.tcl
===================================================================
--- toltcl/OTAN/ToltclLinux32/lib/toltcl/pkgIndex.tcl	(revision 536b3c1ee8433e7286a8a0973e4183db86b57a9d)
+++ toltcl/OTAN/ToltclLinux32/lib/toltcl/pkgIndex.tcl	(revision 536b3c1ee8433e7286a8a0973e4183db86b57a9d)
@@ -0,0 +1,20 @@
+# Tcl package index file, version 1.1
+
+proc LoadToltcl { version dir } {
+  global tcl_platform
+  
+  set suffix [info sharedlibextension]
+  if {$tcl_platform(platform) eq "unix"} {
+    set name libtoltcl${version}[info sharedlibextension]
+  } else  {
+    set name toltcl.dll
+  }
+  load [file join $dir $name] Toltcl
+}
+
+package ifneeded Toltcl 3.1 \
+    [ string map [list %d $dir] {
+      LoadToltcl 3.1 %d
+      source [ file join %d toltcl.tcl ]
+    } ]
+
Index: toltcl/OTAN/ToltclLinux32/lib/toltcl/toltcl.tcl
===================================================================
--- toltcl/OTAN/ToltclLinux32/lib/toltcl/toltcl.tcl	(revision 536b3c1ee8433e7286a8a0973e4183db86b57a9d)
+++ toltcl/OTAN/ToltclLinux32/lib/toltcl/toltcl.tcl	(revision 536b3c1ee8433e7286a8a0973e4183db86b57a9d)
@@ -0,0 +1,104 @@
+namespace eval toltcl {
+
+  proc init { } {
+    variable idcounter
+
+    foreach g [ tol::info grammars ] {
+      set idcounter($g) 0
+    }
+  }
+
+  if { [ info commands initkernel ] eq "" } {
+    rename ::tol::initkernel initkernel
+  }
+  
+  proc ::tol::initkernel { args } {
+    eval toltcl::initkernel $args
+    toltcl::init
+  }  
+}
+
+proc toltcl::genid { Type } {
+  variable idcounter
+
+  return "__tmp_${Type}_[ incr idcounter($Type) ]__"
+}
+
+proc toltcl::eval { TolScript args } {
+  set id [ genid Anything ]
+  set script [ string map \
+                   [ list %s% [ string trim $TolScript " \t\n;" ] %v% $id ] { Set %v% = { Set tmp = { [[ %s% ]] }; Set [[ tmp[Card(tmp)] ]] } } ]
+  tol::console eval $script
+  set idx [ llength [ tol::console stack list ] ]
+  #puts [ tol::info var [ list "Console" $idx ] ]
+  #set result [ ::eval tolist [ list [ list $_Type $id ] ] $args ]
+  set result [ ::eval tolist [ list [ list "Console" $idx ] ] $args ]
+  tol::console stack release $id
+  array set opts {
+    -named 0
+  }
+  return $result
+  array set opts $args
+  if { $Type eq "Set" || $Type eq "NameBlock" } {
+    return $result
+  } elseif { $opts(-named) } {
+    return [ lrange $result end-1 end ]
+  } else {
+    return [ lindex $result end ]
+  }
+}
+
+proc toltcl::__tolist { tolobj named recursive } {
+  set vinfo [ tol::info variable $tolobj ]
+  set grammar [ lindex $vinfo 0 ]
+  if { $grammar eq "Set" || $grammar eq "NameBlock" } {
+    set result [ list ]
+    set idx 1
+    tol::foreach it $tolobj {
+      array set it_info $it
+      if { $named } {
+        lappend result $it_info(name)
+      }
+      lappend result [ __tolist [ linsert $tolobj end $idx ] $named $recursive ]
+      incr idx
+    }
+    return $result
+  } else {
+    if { $grammar eq "Text" } {
+      set contents [ lindex $vinfo 2 ]
+      regexp {^"(.*)"$} $contents ==> retval
+    } else {
+      set retval [ lindex $vinfo 2 ]
+    }
+    if { $named && [ llength $tolobj ] < 3 } {
+      return [ list [ lindex $vinfo 1 ] $retval ]
+    } else {
+      return $retval
+    }
+  }  
+}
+
+proc toltcl::tolist { tolobj args } {
+  array set opts {
+    -named 0
+    -recursive 1
+  }
+  array set opts $args
+  set result [ __tolist $tolobj $opts(-named) $opts(-recursive) ]
+}
+
+proc toltcl::test_00 { } {
+  toltcl::eval Set {
+    Set TolConfigManager::Config::Upgrading::TolPackage::Repositories;
+  }
+}
+
+proc toltcl::test_01 { } {
+  toltcl::eval Set {
+    TolPackage::Client::_.versSyncInfo
+  }
+}
+
+proc toltcl::test_03 { } {
+  puts toltcl::eval {Real a = 1; Set kk = [[ a ]]; Real b = Card(kk)+1} -named 1
+}
Index: toltcl/OTAN/ToltclWin32/ToltclWin32.tol
===================================================================
--- toltcl/OTAN/ToltclWin32/ToltclWin32.tol	(revision 536b3c1ee8433e7286a8a0973e4183db86b57a9d)
+++ toltcl/OTAN/ToltclWin32/ToltclWin32.tol	(revision 536b3c1ee8433e7286a8a0973e4183db86b57a9d)
@@ -0,0 +1,41 @@
+/* -*- mode: C++ -*- */
+//////////////////////////////////////////////////////////////////////////////
+// FILE   : ToltclWin32.tol
+// PURPOSE: Defines Package ToltclWin32
+//////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////
+NameBlock ToltclWin32 = [[
+//////////////////////////////////////////////////////////////////////////////
+                       
+Text _.autodoc.name = "ToltclWin32";
+Text _.autodoc.brief = "Support package to load Toltcl binaries on Win32";
+Text _.autodoc.description = "This package load the Toltcl package on Win32 which is compatible with the TOL 3.1";
+Text _.autodoc.url = "http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php";
+Set _.autodoc.keys = [["Tcl","Core", "Toltcl"]];
+Set _.autodoc.authors = [[ "josp@tol-project.org" ]];
+Text _.autodoc.minTolVersion =  "v3.1";
+Text _.autodoc.maxTolVersion =  "v3.1 p.999";
+Real _.autodoc.version.high = 3;
+Real _.autodoc.version.low = 1;
+Set _.autodoc.dependencies = Copy(Empty);
+Set _.autodoc.nonTolResources = { [[
+  Text lib="lib"
+]] };
+Text _.autodoc.versionControl = AvoidErr.NonDecAct(OSSvnInfo("."));
+
+Text _.libDir = "";
+
+Text GetLibDir( Real void )
+{
+  Text _.libDir
+};
+
+////////////////////////////////////////////////////////////////////////////
+Real StartActions(Real void)
+////////////////////////////////////////////////////////////////////////////
+{
+  Text _.libDir := GetAbsolutePath( "." ) + "/lib/";
+  Real True
+}
+]];
Index: toltcl/OTAN/ToltclWin32/lib/toltcl/pkgIndex.tcl
===================================================================
--- toltcl/OTAN/ToltclWin32/lib/toltcl/pkgIndex.tcl	(revision 536b3c1ee8433e7286a8a0973e4183db86b57a9d)
+++ toltcl/OTAN/ToltclWin32/lib/toltcl/pkgIndex.tcl	(revision 536b3c1ee8433e7286a8a0973e4183db86b57a9d)
@@ -0,0 +1,20 @@
+# Tcl package index file, version 1.1
+
+proc LoadToltcl { version dir } {
+  global tcl_platform
+  
+  set suffix [info sharedlibextension]
+  if {$tcl_platform(platform) eq "unix"} {
+    set name libtoltcl${version}[info sharedlibextension]
+  } else  {
+    set name toltcl.dll
+  }
+  load [file join $dir $name] Toltcl
+}
+
+package ifneeded Toltcl 3.1 \
+    [ string map [list %d $dir] {
+      LoadToltcl 3.1 %d
+      source [ file join %d toltcl.tcl ]
+    } ]
+
Index: toltcl/OTAN/ToltclWin32/lib/toltcl/toltcl.tcl
===================================================================
--- toltcl/OTAN/ToltclWin32/lib/toltcl/toltcl.tcl	(revision 536b3c1ee8433e7286a8a0973e4183db86b57a9d)
+++ toltcl/OTAN/ToltclWin32/lib/toltcl/toltcl.tcl	(revision 536b3c1ee8433e7286a8a0973e4183db86b57a9d)
@@ -0,0 +1,104 @@
+namespace eval toltcl {
+
+  proc init { } {
+    variable idcounter
+
+    foreach g [ tol::info grammars ] {
+      set idcounter($g) 0
+    }
+  }
+
+  if { [ info commands initkernel ] eq "" } {
+    rename ::tol::initkernel initkernel
+  }
+  
+  proc ::tol::initkernel { args } {
+    eval toltcl::initkernel $args
+    toltcl::init
+  }  
+}
+
+proc toltcl::genid { Type } {
+  variable idcounter
+
+  return "__tmp_${Type}_[ incr idcounter($Type) ]__"
+}
+
+proc toltcl::eval { TolScript args } {
+  set id [ genid Anything ]
+  set script [ string map \
+                   [ list %s% [ string trim $TolScript " \t\n;" ] %v% $id ] { Set %v% = { Set tmp = { [[ %s% ]] }; Set [[ tmp[Card(tmp)] ]] } } ]
+  tol::console eval $script
+  set idx [ llength [ tol::console stack list ] ]
+  #puts [ tol::info var [ list "Console" $idx ] ]
+  #set result [ ::eval tolist [ list [ list $_Type $id ] ] $args ]
+  set result [ ::eval tolist [ list [ list "Console" $idx ] ] $args ]
+  tol::console stack release $id
+  array set opts {
+    -named 0
+  }
+  return $result
+  array set opts $args
+  if { $Type eq "Set" || $Type eq "NameBlock" } {
+    return $result
+  } elseif { $opts(-named) } {
+    return [ lrange $result end-1 end ]
+  } else {
+    return [ lindex $result end ]
+  }
+}
+
+proc toltcl::__tolist { tolobj named recursive } {
+  set vinfo [ tol::info variable $tolobj ]
+  set grammar [ lindex $vinfo 0 ]
+  if { $grammar eq "Set" || $grammar eq "NameBlock" } {
+    set result [ list ]
+    set idx 1
+    tol::foreach it $tolobj {
+      array set it_info $it
+      if { $named } {
+        lappend result $it_info(name)
+      }
+      lappend result [ __tolist [ linsert $tolobj end $idx ] $named $recursive ]
+      incr idx
+    }
+    return $result
+  } else {
+    if { $grammar eq "Text" } {
+      set contents [ lindex $vinfo 2 ]
+      regexp {^"(.*)"$} $contents ==> retval
+    } else {
+      set retval [ lindex $vinfo 2 ]
+    }
+    if { $named && [ llength $tolobj ] < 3 } {
+      return [ list [ lindex $vinfo 1 ] $retval ]
+    } else {
+      return $retval
+    }
+  }  
+}
+
+proc toltcl::tolist { tolobj args } {
+  array set opts {
+    -named 0
+    -recursive 1
+  }
+  array set opts $args
+  set result [ __tolist $tolobj $opts(-named) $opts(-recursive) ]
+}
+
+proc toltcl::test_00 { } {
+  toltcl::eval Set {
+    Set TolConfigManager::Config::Upgrading::TolPackage::Repositories;
+  }
+}
+
+proc toltcl::test_01 { } {
+  toltcl::eval Set {
+    TolPackage::Client::_.versSyncInfo
+  }
+}
+
+proc toltcl::test_03 { } {
+  puts toltcl::eval {Real a = 1; Set kk = [[ a ]]; Real b = Card(kk)+1} -named 1
+}
Index: toltcl/OTAN/_build.tol
===================================================================
--- toltcl/OTAN/_build.tol	(revision 536b3c1ee8433e7286a8a0973e4183db86b57a9d)
+++ toltcl/OTAN/_build.tol	(revision 536b3c1ee8433e7286a8a0973e4183db86b57a9d)
@@ -0,0 +1,34 @@
+NameBlock repository.db = DBConnect::Create (
+   "bysforofitol", "toldevel", "tol!116.", 
+   "PostgreSQL", "bysforofitol", "p-pgsql01.localbayes.es", 
+   "AlmacÃ©n de repositorios de paquetes TOL de Bayes"
+);
+
+Text sourceRoot = "./";
+
+Text repository.url = 
+  "http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php",
+
+Text checkInstallMode = "remote";
+
+/* */
+//Real TolPackage::Server::RemovePackageVersion( "ToltclLinux32", 3, 1, repository.db );
+Set packages = [["ToltclLinux32"]];
+
+/* * /
+//Real TolPackage::Server::RemovePackageVersion( "ToltclWin32", 3, 1, repository.db );
+Set packages = [["ToltclWin32"]];
+
+/* */
+
+Set EvalSet(packages, Real(Text name)
+{
+  TolPackage::Server::BuildAndUploadPackage(
+    Text name, 
+    Text sourceRoot,
+    Text repository.url,
+    NameBlock repository.db, 
+    Text checkInstallMode)
+});
+
+/* */
