* Bug 16639 fixed: atomsInstall & atomsRemove now update Toolboxes menu 95/21695/2
Samuel GOUGEON [Tue, 2 Feb 2021 03:20:27 +0000 (04:20 +0100)]
  http://bugzilla.scilab.org/16639
  Test: see the How-to-reproduce

Change-Id: Id06f9d0c45e73c0f33a3e528d90eba12b05c4c20

scilab/CHANGES.md
scilab/modules/atoms/macros/atomsInstall.sci
scilab/modules/atoms/macros/atomsRemove.sci
scilab/modules/core/macros/toolboxes.sci

index 960105c..dddbddd 100644 (file)
@@ -431,6 +431,7 @@ Bug Fixes
 * [#16632](https://bugzilla.scilab.org/16632): Scilab did not start with unsupported locale on macOS.
 * [#16636](https://bugzilla.scilab.org/16636): `det(sparse)` most often yielded `Nan`. `[e,m]=det(sparse)` was not actually implemented.
 * [#16638](https://bugzilla.scilab.org/16638): `getcolor` shew a bunch of issues.
+* [#16639](https://bugzilla.scilab.org/16639): `atomsInstall` and `atomsRemove` did not update the Toolboxes menu.
 * [#16644](https://bugzilla.scilab.org/16644): `input("message:")` yielded a wrong error message about `mprintf` in case of non-interpretable input.
 * [#16654](https://bugzilla.scilab.org/16654): `interp` was leaking memory.
 
index f6d16bf..853e278 100644 (file)
@@ -528,6 +528,13 @@ function result = atomsInstall(packages,section)
 
     end
 
+    // Update the tooloxes menu
+    // =========================================================================
+    if getscilabmode()=="STD" then
+        toolboxes(SCI+"/contrib")
+        setmenu(gettext("&Toolboxes"))
+    end
+
     // Go to the initial location
     // =========================================================================
     chdir(ATOMSINITIALPATH);
index 59faf9d..b801610 100644 (file)
@@ -358,6 +358,13 @@ function result = atomsRemove(packages,section,del)
         atomsDisp(msprintf(" success")+LF);
     end
 
+    // Update the tooloxes menu
+    // =========================================================================
+    if getscilabmode()=="STD" then
+        toolboxes(SCI+"/contrib")
+        setmenu(gettext("&Toolboxes"))
+    end
+
     // Go to the initial location
     chdir(ATOMSINITIALPATH);
 
index 66b0389..b14ced2 100644 (file)
@@ -1,9 +1,8 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) INRIA
 // Copyright (C) DIGITEO - 2009 - Allan CORNET
-// Copyright (C) 2012 - 2015 - Samuel GOUGEON
-//
 // Copyright (C) 2012 - 2016 - Scilab Enterprises
+// Copyright (C) 2012, 2015, 2021 - Samuel GOUGEON
 //
 // This file is hereby licensed under the terms of the GNU GPL v2.0,
 // pursuant to article 5.3.4 of the CeCILL v.2.1.
@@ -54,11 +53,11 @@ function [y] = toolboxes(path)
         end
     end
 
-    // ATOMS modules without autoloading
+    // ATOMS modules not yet loaded (e.g. just after atomsInstall)
     installed   = atomsGetInstalled()
-    autoloading = atomsAutoloadList()
+    loaded = atomsGetLoaded()
     for i = 1:size(installed,1)
-        if and(installed(i,1)~=autoloading(:,1)) then
+        if and(installed(i,1)~=loaded(:,1)) then
             contribs = [contribs ; "!"+installed(i,1)+","+installed(i,2)]
         end
     end