Index: tol/stdlib/general/TolPackage/client.tol
===================================================================
--- tol/stdlib/general/TolPackage/client.tol	(revision 6e04f7172f4cf913cecc3098f904492cc17d754f)
+++ tol/stdlib/general/TolPackage/client.tol	(revision f1bb743ce2f9433ec87fd8f2aa4664f4ba710fd0)
@@ -122,29 +122,41 @@
 
 //////////////////////////////////////////////////////////////////////////////
+Text _.autodoc.member.PackagePrefix = 
+"Devuelve un prefijo de paquete para poder hacwer comparaciones con "
+"TextBeginWith.";
+Text PackagePrefix(Text package)
+//////////////////////////////////////////////////////////////////////////////
+{
+  Real _trace("RefersPackage", "Begin", 1);
+  Set tok = Tokenizer(package,".");
+  Real tokCard = Card(tok);
+  Real endAtPoint = TextEndAt(package,".");
+  Text pkgPrefix = Case(
+    tokCard==1,package+".",
+    tokCard==4,tok[1]+"."+tok[2]+"."+tok[3],
+    endAtPoint,package,
+    1==1,      package+".");
+  Real _trace("RefersPackage", "package='"<<package+"'", 5);
+  Real _trace("RefersPackage", "tok={"<<tok+"}", 5);
+  Real _trace("RefersPackage", "tokCard="<<tokCard, 5);
+  Real _trace("RefersPackage", "endAtPoint="<<endAtPoint, 5);
+  Real _trace("RefersPackage", "pkgPrefix='"<<pkgPrefix+"'", 1);
+  Real _trace("RefersPackage", "End", 1);
+  pkgPrefix
+};
+
+//////////////////////////////////////////////////////////////////////////////
 Text _.autodoc.member.LocalLastCompatible = 
 "Devuelve la última versión de un paquete disponible localmente que es "
 "compatible con la versión actual de TOL.";
-Text LocalLastCompatible(Text package_)
-//////////////////////////////////////////////////////////////////////////////
-{
-  Set tok  = Tokenizer(package_,".");
-  Real tokCard = Card(tok);
-  Real endAtPoint = TextEndAt(package_,".");
-  Text package = Case(
-    tokCard==1,package_+".",
-    tokCard==4,tok[1]+"."+tok[2]+"."+tok[3],
-    endAtPoint,package_,
-    1==1,      package_+".");
-  Real _trace("LocalLastCompatible", "Begin", 1);
-  Real _trace("LocalLastCompatible", "package_='"<<package_+"'", 5);
-  Real _trace("LocalLastCompatible", "tok={"<<tok+"}", 5);
-  Real _trace("LocalLastCompatible", "tokCard="<<tokCard, 5);
-  Real _trace("LocalLastCompatible", "endAtPoint="<<endAtPoint, 5);
-  Real _trace("LocalLastCompatible", "package='"<<package+"'", 1);
+Text LocalLastCompatible(Text package)
+//////////////////////////////////////////////////////////////////////////////
+{
+  Text pkgPrefix = PackagePrefix(package);
   Set pkgLst = GetDir(TolPackage::Client::_.localRoot)[2];
   Set pkgSel = Select(pkgLst,Real(Text pkgNamVer)
   {
     Real _trace("LocalLastCompatible", "checking version ="<<pkgNamVer, 5);
-    Real ok1 = TextBeginWith(pkgNamVer, package);
+    Real ok1 = TextBeginWith(pkgNamVer, pkgPrefix);
     If(!ok1, False,
     {
@@ -250,4 +262,6 @@
 {
   Real _trace("LocalClean", "Begin", 1);
+  Text pkgPrefix = PackagePrefix(package);
+
   Real ok = If(TextFind(package,"."),
   {
@@ -258,5 +272,5 @@
     Set sel = Select(dir,Real(Text sub)
     {
-      TextBeginWith(sub,package)
+      TextBeginWith(sub,pkgPrefix)
     });
     SetMin(EvalSet(sel,Real(Text pkg)
@@ -847,9 +861,11 @@
 ////////////////////////////////////////////////////////////////////////////////
 Text _.autodoc.member.GetCompatibleVersion.one = 
-"Gets the latest version of a package that is compatible with a tol version.";
-Text GetCompatibleVersion.one(Text tol_version, Text package)
+"Gets the latest version of a package that is compatible with current "
+"tol version.";
+Text GetCompatibleVersion.one(Text package)
 ////////////////////////////////////////////////////////////////////////////////
 {
   Real _trace("GetCompatibleVersion.one", "Begin", 1);
+  Text pkgPrefix = PackagePrefix(package);
   Real If(!Card(_.versSyncInfo), 
    TolPackage::Client::RemoteUpdateVersSyncInfo(True));
@@ -858,12 +874,12 @@
   Real(TolPackage::@VersionSynchro reg)
   {
-    And(TextBeginWith(reg->co_name_version,package), 
-        tol_version>=reg->te_min_tol_version, 
-        tol_version<=reg->te_max_tol_version)
+    And(TextBeginWith(reg->co_name_version, pkgPrefix), 
+        TolPackage::_.currentTolVersion>=reg->te_min_tol_version, 
+        TolPackage::_.currentTolVersion<=reg->te_max_tol_version)
   });
   If(!Card(sel_compatible),
   {
     WriteLn("[GetCompatibleVersion.one] Cannot find a version of package "<<
-    package+" compatible with TOL "+tol_version,"E");
+    package+" compatible with TOL "+TolPackage::_.currentTolVersion,"E");
     Real Stop;
     ""
@@ -882,12 +898,12 @@
 ////////////////////////////////////////////////////////////////////////////////
 Text _.autodoc.member.GetCompatibleVersion.all = 
-"Gets the latest versions of a set of packages that are compatible with a tol "
-"version.";
-Set GetCompatibleVersion.all(Text tol_version, Set package.list)
+"Gets the latest versions of a set of packages that are compatible with "
+"current tol version.";
+Set GetCompatibleVersion.all(Set package.list)
 ////////////////////////////////////////////////////////////////////////////////
 {
   EvalSet(package.list, Text (Text pv) 
   {
-    GetCompatibleVersion.one(tol_version, pv)
+    GetCompatibleVersion.one(pv)
   })
 };
@@ -975,10 +991,11 @@
 Text _.autodoc.member.GetCompatibleDeepDependencies = 
 "Gets the TolPackage::@VersionSynchro related to all deep dependencies of a "
-"list of packages for the last version that is compatible with a tol version";
-Set GetCompatibleDeepDependencies(Text tol_version, Set package.list)
+"list of packages for the last version that is compatible with current tol "
+"version";
+Set GetCompatibleDeepDependencies(Set package.list)
 ////////////////////////////////////////////////////////////////////////////////
 {
   Real _trace("GetCompatibleDeepDependencies", "Begin", 1);
-  Set package.version.list = GetCompatibleVersion.all(tol_version, package.list);
+  Set package.version.list = GetCompatibleVersion.all(package.list);
   Set dep = GetVersionInfo(GetDeepDependencies.all(package.version.list));
   Real _trace("GetCompatibleDeepDependencies", "End", 2);
@@ -993,5 +1010,4 @@
 "  Text localRoot      : Local directory where packages will be downloaded\n"
 "  Real cleanLocalRoot : If true, local directory will be cleaned before to download\n"
-"  Text tol_version    : Version of TOL comaptible with all packages\n"
 "  Set package.list    : List of packages without explicit version\n"
 "Returns true if all packages are found and downloaded.";
@@ -999,25 +1015,16 @@
   Text localRoot,
   Real cleanLocalRoot,    
-  Text tol_version,  
   Set package.list)
 ////////////////////////////////////////////////////////////////////////////////
 {
   Real _trace("DownloadCompatibleDeepDependencies", "Begin", 1);
-  If(Compare.VersionString(tol_version,TolPackage::_.currentTolVersion)>0,
-  {
-    WriteLn("[DownloadCompatibleDeepDependencies] Cannot download packages for "
-    "TOL "+tol_version+" using TOL "+TolPackage::_.currentTolVersion,"E");
-    False
-  },
-  {
-    Real If(cleanLocalRoot, OSDirRemove(localRoot));
-    Set dep = GetCompatibleDeepDependencies(tol_version, package.list);
-    Real ok = SetMin(EvalSet(dep, Real(TolPackage::@VersionSynchro vsi)
-    {
-      DownloadPackage(vsi->te_url,vsi->co_name_version,True,localRoot)
-    }));
-    Real _trace("DownloadCompatibleDeepDependencies", "End", 1);
-    ok
-  })
+  Real If(cleanLocalRoot, OSDirRemove(localRoot));
+  Set dep = GetCompatibleDeepDependencies(package.list);
+  Real ok = SetMin(EvalSet(dep, Real(TolPackage::@VersionSynchro vsi)
+  {
+    DownloadPackage(vsi->te_url,vsi->co_name_version,True,localRoot)
+  }));
+  Real _trace("DownloadCompatibleDeepDependencies", "End", 1);
+  ok
 };
 
