Merge remote-tracking branch 'origin/master' into YaSp 36/10236/1
Sylvestre Ledru [Wed, 16 Jan 2013 17:32:25 +0000 (18:32 +0100)]
Conflicts:
scilab/modules/localization/src/c/InitializeLocalization.c

Change-Id: I3ae8e91fa6eb97b9006807b600d22484fc1aaef8

71 files changed:
scilab/CHANGES_5.4.X
scilab/configure
scilab/configure.ac
scilab/etc/classpath.xml.vc
scilab/etc/scilab.start
scilab/modules/arnoldi/tests/unit_tests/znaupd-win.dia.ref [new file with mode: 0644]
scilab/modules/arnoldi/tests/unit_tests/znaupd-win.tst [new file with mode: 0644]
scilab/modules/arnoldi/tests/unit_tests/znaupd.tst
scilab/modules/arnoldi/tests/unit_tests/zneupd-win.dia.ref [new file with mode: 0644]
scilab/modules/arnoldi/tests/unit_tests/zneupd-win.tst [new file with mode: 0644]
scilab/modules/arnoldi/tests/unit_tests/zneupd.tst
scilab/modules/cacsd/help/en_US/dtsi.xml
scilab/modules/cacsd/help/en_US/fspecg.xml
scilab/modules/cacsd/help/en_US/invsyslin.xml
scilab/modules/cacsd/help/en_US/lqg.xml
scilab/modules/cacsd/help/en_US/nehari.xml
scilab/modules/cacsd/help/en_US/plot_display/hallchart.xml
scilab/modules/cacsd/help/en_US/ric_desc.xml
scilab/modules/cacsd/help/en_US/riccati.xml
scilab/modules/cacsd/help/en_US/sensi.xml
scilab/modules/cacsd/help/en_US/syssize.xml
scilab/modules/cacsd/help/ja_JP/plot_display/hallchart.xml
scilab/modules/cacsd/help/ja_JP/plot_display/nicholschart.xml
scilab/modules/call_scilab/src/c/SendScilabJobs.c
scilab/modules/core/tests/nonreg_tests/bug_8086.dia.ref
scilab/modules/core/tests/nonreg_tests/bug_8086.tst
scilab/modules/data_structures/help/en_US/rlist.xml
scilab/modules/data_structures/help/fr_FR/rlist.xml
scilab/modules/fileio/tests/nonreg_tests/bug_3905.dia.ref
scilab/modules/fileio/tests/nonreg_tests/bug_3905.tst
scilab/modules/fileio/tests/nonreg_tests/bug_7959.dia.ref
scilab/modules/fileio/tests/nonreg_tests/bug_7959.tst
scilab/modules/fileio/tests/nonreg_tests/bug_9869.dia.ref
scilab/modules/fileio/tests/nonreg_tests/bug_9869.tst
scilab/modules/fileio/tests/unit_tests/fprintf.dia.ref
scilab/modules/fileio/tests/unit_tests/fprintf.tst
scilab/modules/fileio/tests/unit_tests/non-iso-filename.dia.ref
scilab/modules/fileio/tests/unit_tests/non-iso-filename.tst
scilab/modules/fileio/tests/unit_tests/sscanf.dia.ref
scilab/modules/fileio/tests/unit_tests/sscanf.tst
scilab/modules/functions/help/en_US/libraries/library.xml
scilab/modules/functions/help/en_US/libraries/whereis.xml
scilab/modules/functions/help/en_US/profiling/plotprofile.xml
scilab/modules/functions/help/fr_FR/libraries/whereis.xml
scilab/modules/functions/help/ja_JP/libraries/library.xml
scilab/modules/functions/help/pt_BR/libraries/library.xml
scilab/modules/graphic_objects/includes/DataController.hxx
scilab/modules/graphic_objects/includes/DataModel.hxx
scilab/modules/graphic_objects/src/cpp/dataModel.cpp
scilab/modules/graphics/sci_gateway/c/sci_delete.c
scilab/modules/graphics/sci_gateway/c/sci_set.c
scilab/modules/graphics/tests/nonreg_tests/bug_12219.dia.ref [new file with mode: 0644]
scilab/modules/graphics/tests/nonreg_tests/bug_12219.tst [new file with mode: 0644]
scilab/modules/hdf5/src/c/h5_readDataFromFile.c
scilab/modules/helptools/images/lqg_1.png [new file with mode: 0644]
scilab/modules/jvm/src/nojvm/nojvm.c
scilab/modules/jvm/src/nojvm/nojvm.vcxproj
scilab/modules/jvm/src/nojvm/nojvm.vcxproj.filters
scilab/modules/jvm/src/nojvm/nolibjvm_export.def [new file with mode: 0644]
scilab/modules/localization/src/c/InitializeLocalization.c
scilab/modules/output_stream/src/c/sciprint_full.c
scilab/modules/renderer/renderer.iss
scilab/modules/scicos/src/c/scicos.c
scilab/modules/spreadsheet/locales/spreadsheet.pot
scilab/modules/spreadsheet/sci_gateway/c/sci_csvTextScan.c
scilab/modules/spreadsheet/tests/nonreg_tests/bug_12220.dia.ref [new file with mode: 0644]
scilab/modules/spreadsheet/tests/nonreg_tests/bug_12220.tst [new file with mode: 0644]
scilab/modules/ui_data/src/cpp/UpdateBrowseVar.cpp
scilab/modules/xcos/help/en_US/programming_scicos_blocks/c_computational_functions/C_struct.xml
scilab/modules/xcos/src/java/org/scilab/modules/xcos/graph/SuperBlockDiagram.java
scilab/scilab-lib.properties.vc

index a6e6e07..ebfbac9 100644 (file)
@@ -131,6 +131,8 @@ Xcos
 
 * Bug #12162 fixed - tbx_build_blocks did not report errors.
 
+* Bug #12167 fixed - Text of ports in superblocks were not updated.
+
 
 Documentation
 ==============
@@ -141,7 +143,7 @@ Documentation
 Compilation
 ============
 
-* Enforce a minimal version of Scirenderer (1.0.3).
+* Enforce a minimal version of Scirenderer (1.0.4).
 
 * Enforce a minimal version of Flexdock (1.2.1).
 
@@ -275,6 +277,8 @@ Bug fixes
 
 * Bug #12204 fixed - Fix a typo in the French localization
 
+* Bug #12219 fixed - delete("all") does not recreate a basic axe within cleaned figure.
+
 
                     Changes between version 5.3.3 and 5.4.0
                     =======================================
index 8fd4228..3d69fc3 100755 (executable)
@@ -13123,8 +13123,8 @@ $as_echo "$as_me: WARNING: Could not find or use the Java package/jar scirendere
 
 
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking minimal version (1.0.3) of scirenderer" >&5
-$as_echo_n "checking minimal version (1.0.3) of scirenderer... " >&6; }
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking minimal version (1.0.4) of scirenderer" >&5
+$as_echo_n "checking minimal version (1.0.4) of scirenderer... " >&6; }
    saved_ac_java_classpath=$ac_java_classpath
    export ac_java_classpath="$SCIRENDERER:$ac_java_classpath"
    if test "x" == "x"; then
@@ -13137,7 +13137,7 @@ import org.scilab.forge.scirenderer.PackageInfo;
 
 public class conftest {
     public static void main(String[] argv) {
-        String minVersion="1.0.3";
+        String minVersion="1.0.4";
 
                             System.out.println(PackageInfo.VERSION);
                                   if (compare(minVersion, PackageInfo.VERSION) > 0) {
@@ -13186,7 +13186,7 @@ EOF
                    STDOUT=`cat conftest.java.output`
                 fi
                 echo "configure: CLASSPATH was $CLASSPATH" >&5
-                  as_fn_error $? "Wrong version of scirenderer. Expected at least 1.0.3. Found $STDOUT" "$LINENO" 5
+                  as_fn_error $? "Wrong version of scirenderer. Expected at least 1.0.4. Found $STDOUT" "$LINENO" 5
                             fi
         fi
         if test -f conftest.java.output; then
@@ -13196,7 +13196,7 @@ EOF
         echo "configure: failed program was:" >&5
         cat conftest.java >&5
         echo "configure: CLASSPATH was $CLASSPATH" >&5
-          as_fn_error $? "Wrong version of scirenderer. Expected at least 1.0.3. Found $STDOUT" "$LINENO" 5
+          as_fn_error $? "Wrong version of scirenderer. Expected at least 1.0.4. Found $STDOUT" "$LINENO" 5
             fi
 
    else
@@ -13209,7 +13209,7 @@ import org.scilab.forge.scirenderer.PackageInfo;
 
 public class conftest {
     public static void main(String[] argv) {
-        String minVersion="1.0.3";
+        String minVersion="1.0.4";
 
                             System.out.println(PackageInfo.VERSION);
                                   if (compare(minVersion, PackageInfo.VERSION) != 0) {
@@ -13258,7 +13258,7 @@ EOF
                    STDOUT=`cat conftest.java.output`
                 fi
                 echo "configure: CLASSPATH was $CLASSPATH" >&5
-                  as_fn_error $? "Wrong version of scirenderer. Expected exact version 1.0.3. Found $STDOUT" "$LINENO" 5
+                  as_fn_error $? "Wrong version of scirenderer. Expected exact version 1.0.4. Found $STDOUT" "$LINENO" 5
                             fi
         fi
         if test -f conftest.java.output; then
@@ -13268,7 +13268,7 @@ EOF
         echo "configure: failed program was:" >&5
         cat conftest.java >&5
         echo "configure: CLASSPATH was $CLASSPATH" >&5
-          as_fn_error $? "Wrong version of scirenderer. Expected exact version 1.0.3. Found $STDOUT" "$LINENO" 5
+          as_fn_error $? "Wrong version of scirenderer. Expected exact version 1.0.4. Found $STDOUT" "$LINENO" 5
             fi
 
     fi
index 30f8e2c..1b24ab4 100644 (file)
@@ -889,7 +889,7 @@ if test "$with_javasci" != no -o "$with_gui" != no -o "$enable_build_help" != no
                 SCIRENDERER=$PACKAGE_JAR_FILE
                 AC_SUBST(SCIRENDERER)
 
-                AC_JAVA_CHECK_VERSION_PACKAGE([scirenderer],[import org.scilab.forge.scirenderer.PackageInfo;],$SCIRENDERER,[1.0.3],[PackageInfo.VERSION])
+                AC_JAVA_CHECK_VERSION_PACKAGE([scirenderer],[import org.scilab.forge.scirenderer.PackageInfo;],$SCIRENDERER,[1.0.4],[PackageInfo.VERSION])
 
                # Docking system
                 AC_JAVA_CHECK_PACKAGE([flexdock],[org.flexdock.docking.DockingManager],[Scilab Gui])
index 24df4f3..6221ded 100644 (file)
@@ -50,7 +50,7 @@ The option is "disableUnderMode" and can be:
        <load on="documentationGeneration"/>
 </path>
 
-<path value="$SCILAB/thirdparty/scirenderer-1.0.3.jar" load="onUse">
+<path value="$SCILAB/thirdparty/scirenderer-1.0.4.jar" load="onUse">
     <load on="graphics"/>
     <load on="graphic_ojects"/>
     <load on="Xcos"/>
index 792f89d..b80e319 100644 (file)
@@ -38,7 +38,7 @@ if (sciargs() <> "-nb") & getscilabmode() == "STD" then
   printf(gettext("  loading initial environment") + "\n");
 end
 
-if ((getscilabmode() == "NWNI" | getscilabmode() == "NW") & sciargs()<>"-nb")
+if ((getscilabmode() == "NWNI" | getscilabmode() == "NW") & ~fromjava() & ~fromc() & sciargs()<>"-nb")
    [v, opts] = getversion()
    printf(strsubst(v, "scilab-", "Scilab ") + " (" + opts($-1) + ", " + opts($) + ")");
    clear v, opts;
diff --git a/scilab/modules/arnoldi/tests/unit_tests/znaupd-win.dia.ref b/scilab/modules/arnoldi/tests/unit_tests/znaupd-win.dia.ref
new file mode 100644 (file)
index 0000000..c6c211f
--- /dev/null
@@ -0,0 +1,58 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - SE - Sylvestre Ledru
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+nx    = 10;
+nev   = 3;
+ncv   = 6;
+bmat  = 'I';
+which = 'LM';
+// Local Arrays
+iparam  = zeros(11, 1);
+ipntr   = zeros(14, 1);
+_select = zeros(ncv, 1);
+d       = zeros(nev + 1, 1) + 0 * %i;
+z       = zeros(nx, nev) + 0* %i;
+resid   = zeros(nx, 1) + 0 * %i; 
+v       = zeros(nx, ncv) + 0 * %i;
+workd   = zeros(3 * nx, 1) + 0 * %i; 
+workev  = zeros(2 * ncv, 1) + 0 * %i;
+rwork   = zeros(ncv, 1);
+workl   = zeros(3 * ncv * ncv + 5 *ncv, 1) + 0 * %i;
+// Build the complex test matrix
+A            = diag(10 * ones(nx,1) + %i * ones(nx,1));
+A(1:$-1,2:$) = A(1:$-1,2:$) + diag(6 * ones(nx - 1,1));
+A(2:$,1:$-1) = A(2:$,1:$-1) + diag(-6 * ones(nx - 1,1));
+tol    = 0;
+ido    = 0;
+ishfts = 1;
+maxitr = 300;
+mode1  = 1;
+iparam(1) = ishfts;
+iparam(3) = maxitr;
+iparam(7) = mode1;
+sigma = complex(0); 
+info_znaupd = 0;
+// M A I N   L O O P (Reverse communication)
+while(ido <> 99)
+  // Repeatedly call the routine ZNAUPD and take actions indicated by parameter IDO until
+  // either convergence is indicated or maxitr has been exceeded.
+  [ido, resid, v, iparam, ipntr, workd, workl, info_znaupd] = znaupd(ido, bmat, nx, which, nev, tol, resid, ncv, v, iparam, ipntr, workd, workl, rwork, info_znaupd);
+  if(info_znaupd < 0)
+    printf('\nError with znaupd, info = %d\n', info_znaupd);
+    printf('Check the documentation of znaupd\n\n');
+  end
+  if(ido == -1 | ido == 1)
+    // Perform matrix vector multiplication 
+    workd(ipntr(2):ipntr(2) + nx - 1) = A * workd(ipntr(1):ipntr(1) + nx - 1);
+  end
+end
+// Post-Process using ZNEUPD.
+rvec    = 1;
+howmany = 'A';
+info_zneupd = 0;
+[d, z, resid, iparam, ipntr, workd, workl, rwork, info_zneupd] = zneupd(rvec, howmany, _select, d, z, sigma, workev, bmat, nx, which, nev, tol, resid, ncv, v, ...
+                                                                    iparam, ipntr, workd, workl, rwork, info_zneupd);
+assert_checkalmostequal(A * z, z * diag(d(1:3)), sqrt(%eps), 1.e-10); 
diff --git a/scilab/modules/arnoldi/tests/unit_tests/znaupd-win.tst b/scilab/modules/arnoldi/tests/unit_tests/znaupd-win.tst
new file mode 100644 (file)
index 0000000..d2fd9ae
--- /dev/null
@@ -0,0 +1,74 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - SE - Sylvestre Ledru
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- WINDOWS ONLY -->
+nx    = 10;
+
+nev   = 3;
+ncv   = 6;
+bmat  = 'I';
+which = 'LM';
+
+// Local Arrays
+
+iparam  = zeros(11, 1);
+ipntr   = zeros(14, 1);
+_select = zeros(ncv, 1);
+d       = zeros(nev + 1, 1) + 0 * %i;
+z       = zeros(nx, nev) + 0* %i;
+resid   = zeros(nx, 1) + 0 * %i; 
+v       = zeros(nx, ncv) + 0 * %i;
+workd   = zeros(3 * nx, 1) + 0 * %i; 
+workev  = zeros(2 * ncv, 1) + 0 * %i;
+rwork   = zeros(ncv, 1);
+workl   = zeros(3 * ncv * ncv + 5 *ncv, 1) + 0 * %i;
+
+// Build the complex test matrix
+A            = diag(10 * ones(nx,1) + %i * ones(nx,1));
+A(1:$-1,2:$) = A(1:$-1,2:$) + diag(6 * ones(nx - 1,1));
+A(2:$,1:$-1) = A(2:$,1:$-1) + diag(-6 * ones(nx - 1,1));
+
+tol    = 0;
+ido    = 0;
+
+ishfts = 1;
+maxitr = 300;
+mode1  = 1;
+
+iparam(1) = ishfts;
+iparam(3) = maxitr;
+iparam(7) = mode1;
+
+sigma = complex(0); 
+info_znaupd = 0;
+// M A I N   L O O P (Reverse communication)
+while(ido <> 99)
+  // Repeatedly call the routine ZNAUPD and take actions indicated by parameter IDO until
+  // either convergence is indicated or maxitr has been exceeded.
+
+  [ido, resid, v, iparam, ipntr, workd, workl, info_znaupd] = znaupd(ido, bmat, nx, which, nev, tol, resid, ncv, v, iparam, ipntr, workd, workl, rwork, info_znaupd);
+  
+  if(info_znaupd < 0)
+    printf('\nError with znaupd, info = %d\n', info_znaupd);
+    printf('Check the documentation of znaupd\n\n');
+  end
+  
+  if(ido == -1 | ido == 1)
+    // Perform matrix vector multiplication 
+    workd(ipntr(2):ipntr(2) + nx - 1) = A * workd(ipntr(1):ipntr(1) + nx - 1);
+  end
+end
+  
+// Post-Process using ZNEUPD.
+
+rvec    = 1;
+howmany = 'A';
+info_zneupd = 0;
+
+[d, z, resid, iparam, ipntr, workd, workl, rwork, info_zneupd] = zneupd(rvec, howmany, _select, d, z, sigma, workev, bmat, nx, which, nev, tol, resid, ncv, v, ...
+                                                                    iparam, ipntr, workd, workl, rwork, info_zneupd);
+
+assert_checkalmostequal(A * z, z * diag(d(1:3)), sqrt(%eps), 1.e-10); 
index 4fb1815..07c3b06 100644 (file)
@@ -4,7 +4,7 @@
 //
 //  This file is distributed under the same license as the Scilab package.
 // =============================================================================
-
+// <-- UNIX ONLY -->
 nx    = 10;
 
 nev   = 3;
diff --git a/scilab/modules/arnoldi/tests/unit_tests/zneupd-win.dia.ref b/scilab/modules/arnoldi/tests/unit_tests/zneupd-win.dia.ref
new file mode 100644 (file)
index 0000000..c6c211f
--- /dev/null
@@ -0,0 +1,58 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - SE - Sylvestre Ledru
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+nx    = 10;
+nev   = 3;
+ncv   = 6;
+bmat  = 'I';
+which = 'LM';
+// Local Arrays
+iparam  = zeros(11, 1);
+ipntr   = zeros(14, 1);
+_select = zeros(ncv, 1);
+d       = zeros(nev + 1, 1) + 0 * %i;
+z       = zeros(nx, nev) + 0* %i;
+resid   = zeros(nx, 1) + 0 * %i; 
+v       = zeros(nx, ncv) + 0 * %i;
+workd   = zeros(3 * nx, 1) + 0 * %i; 
+workev  = zeros(2 * ncv, 1) + 0 * %i;
+rwork   = zeros(ncv, 1);
+workl   = zeros(3 * ncv * ncv + 5 *ncv, 1) + 0 * %i;
+// Build the complex test matrix
+A            = diag(10 * ones(nx,1) + %i * ones(nx,1));
+A(1:$-1,2:$) = A(1:$-1,2:$) + diag(6 * ones(nx - 1,1));
+A(2:$,1:$-1) = A(2:$,1:$-1) + diag(-6 * ones(nx - 1,1));
+tol    = 0;
+ido    = 0;
+ishfts = 1;
+maxitr = 300;
+mode1  = 1;
+iparam(1) = ishfts;
+iparam(3) = maxitr;
+iparam(7) = mode1;
+sigma = complex(0); 
+info_znaupd = 0;
+// M A I N   L O O P (Reverse communication)
+while(ido <> 99)
+  // Repeatedly call the routine ZNAUPD and take actions indicated by parameter IDO until
+  // either convergence is indicated or maxitr has been exceeded.
+  [ido, resid, v, iparam, ipntr, workd, workl, info_znaupd] = znaupd(ido, bmat, nx, which, nev, tol, resid, ncv, v, iparam, ipntr, workd, workl, rwork, info_znaupd);
+  if(info_znaupd < 0)
+    printf('\nError with znaupd, info = %d\n', info_znaupd);
+    printf('Check the documentation of znaupd\n\n');
+  end
+  if(ido == -1 | ido == 1)
+    // Perform matrix vector multiplication 
+    workd(ipntr(2):ipntr(2) + nx - 1) = A * workd(ipntr(1):ipntr(1) + nx - 1);
+  end
+end
+// Post-Process using ZNEUPD.
+rvec    = 1;
+howmany = 'A';
+info_zneupd = 0;
+[d, z, resid, iparam, ipntr, workd, workl, rwork, info_zneupd] = zneupd(rvec, howmany, _select, d, z, sigma, workev, bmat, nx, which, nev, tol, resid, ncv, v, ...
+                                                                    iparam, ipntr, workd, workl, rwork, info_zneupd);
+assert_checkalmostequal(A * z, z * diag(d(1:3)), sqrt(%eps), 1.e-10); 
diff --git a/scilab/modules/arnoldi/tests/unit_tests/zneupd-win.tst b/scilab/modules/arnoldi/tests/unit_tests/zneupd-win.tst
new file mode 100644 (file)
index 0000000..d2fd9ae
--- /dev/null
@@ -0,0 +1,74 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - SE - Sylvestre Ledru
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- WINDOWS ONLY -->
+nx    = 10;
+
+nev   = 3;
+ncv   = 6;
+bmat  = 'I';
+which = 'LM';
+
+// Local Arrays
+
+iparam  = zeros(11, 1);
+ipntr   = zeros(14, 1);
+_select = zeros(ncv, 1);
+d       = zeros(nev + 1, 1) + 0 * %i;
+z       = zeros(nx, nev) + 0* %i;
+resid   = zeros(nx, 1) + 0 * %i; 
+v       = zeros(nx, ncv) + 0 * %i;
+workd   = zeros(3 * nx, 1) + 0 * %i; 
+workev  = zeros(2 * ncv, 1) + 0 * %i;
+rwork   = zeros(ncv, 1);
+workl   = zeros(3 * ncv * ncv + 5 *ncv, 1) + 0 * %i;
+
+// Build the complex test matrix
+A            = diag(10 * ones(nx,1) + %i * ones(nx,1));
+A(1:$-1,2:$) = A(1:$-1,2:$) + diag(6 * ones(nx - 1,1));
+A(2:$,1:$-1) = A(2:$,1:$-1) + diag(-6 * ones(nx - 1,1));
+
+tol    = 0;
+ido    = 0;
+
+ishfts = 1;
+maxitr = 300;
+mode1  = 1;
+
+iparam(1) = ishfts;
+iparam(3) = maxitr;
+iparam(7) = mode1;
+
+sigma = complex(0); 
+info_znaupd = 0;
+// M A I N   L O O P (Reverse communication)
+while(ido <> 99)
+  // Repeatedly call the routine ZNAUPD and take actions indicated by parameter IDO until
+  // either convergence is indicated or maxitr has been exceeded.
+
+  [ido, resid, v, iparam, ipntr, workd, workl, info_znaupd] = znaupd(ido, bmat, nx, which, nev, tol, resid, ncv, v, iparam, ipntr, workd, workl, rwork, info_znaupd);
+  
+  if(info_znaupd < 0)
+    printf('\nError with znaupd, info = %d\n', info_znaupd);
+    printf('Check the documentation of znaupd\n\n');
+  end
+  
+  if(ido == -1 | ido == 1)
+    // Perform matrix vector multiplication 
+    workd(ipntr(2):ipntr(2) + nx - 1) = A * workd(ipntr(1):ipntr(1) + nx - 1);
+  end
+end
+  
+// Post-Process using ZNEUPD.
+
+rvec    = 1;
+howmany = 'A';
+info_zneupd = 0;
+
+[d, z, resid, iparam, ipntr, workd, workl, rwork, info_zneupd] = zneupd(rvec, howmany, _select, d, z, sigma, workev, bmat, nx, which, nev, tol, resid, ncv, v, ...
+                                                                    iparam, ipntr, workd, workl, rwork, info_zneupd);
+
+assert_checkalmostequal(A * z, z * diag(d(1:3)), sqrt(%eps), 1.e-10); 
index 4fb1815..07c3b06 100644 (file)
@@ -4,7 +4,7 @@
 //
 //  This file is distributed under the same license as the Scilab package.
 // =============================================================================
-
+// <-- UNIX ONLY -->
 nx    = 10;
 
 nev   = 3;
index 56805f0..47438dc 100644 (file)
             </member>
         </simplelist>
     </refsection>
+    
+    <refsection>
+        <title>Examples</title>
+        <programlisting role="example"><![CDATA[ 
+a=0.5;
+b=1;
+c=2;
+sl=syslin('c',a,b,c);
+dtsi(sl)
+ ]]></programlisting>
+    </refsection>
     <refsection>
         <title>History</title>
         <revhistory>
index f1b9c15..9244e39 100644 (file)
@@ -41,7 +41,7 @@
         <para>
             returns <literal>gm</literal> with <literal>gm</literal> and <literal>gm^-1</literal> stable such that:
         </para>
-        <programlisting><![CDATA[ 
+        <programlisting role="no-scilab-exec"><![CDATA[ 
 gtild(g)*g = gtild(gm)*gm
  ]]></programlisting>
         <para>
@@ -51,6 +51,17 @@ gtild(g)*g = gtild(gm)*gm
             Imaginary-axis poles are forbidden.
         </para>
     </refsection>
+    
+    <refsection>
+        <title>Examples</title>
+        <programlisting role="example"><![CDATA[ 
+a=0.5;
+b=1;
+c=2;
+sl=syslin('c',a,b,c);
+fspecg(sl)
+ ]]></programlisting>
+    </refsection>
     <refsection>
         <title>History</title>
         <revhistory>
index 6893c20..0ba8eba 100644 (file)
             <literal>inv(S)</literal> when <literal>S</literal> is a <literal>syslin</literal> list.
         </para>
     </refsection>
+    
+    <refsection>
+        <title>Examples</title>
+        <programlisting role="example"><![CDATA[ 
+a=0.5;
+b=1;
+c=2;
+sl=syslin('c',a,b,c);
+slInversed=invsyslin(sl)
+ ]]></programlisting>
+    </refsection>
     <refsection role="see also">
         <title>See Also</title>
         <simplelist type="inline">
index 16a8cee..796ae28 100644 (file)
             See example in <literal>lqg2stan</literal>.
         </para>
     </refsection>
+    
+    <refsection>
+        <title>Examples</title>
+        <programlisting role="example"><![CDATA[ 
+  s=poly(0,'s');
+  Plant=syslin('c',[1/(s+1)*s/(s-1)^2]);     //Nominal Plant
+  P22=tf2ss(Plant);    //...in state-space form
+  [ny,nu,nx]=size(P22);
+  rand('seed',0);rand('normal');
+  bigQ=rand(nx+nu,nx+nu);
+  bigQ=bigQ*bigQ';
+  bigR=rand(nx+ny,nx+ny);
+  bigR=bigR*bigR';  //random weighting matrices
+  [Plqg,r]=lqg2stan(P22,bigQ,bigR);     //LQG pb as a standard problem
+  Klqg=lqg(Plqg,r);          //Controller
+  spec(h_cl(Plqg,r,Klqg))    //Check internal stability
+  [Slqg,Rlqg,Tlqg]=sensi(P22,Klqg);  //Sensitivity functions
+  frq=logspace(-3,3);     //10^-3  to 10^3
+  y=svplot(Slqg);       //Computes singular values;
+  gainplot(frq,y)   //Plot sing. values
+ ]]></programlisting>
+        <scilab:image>
+            s=poly(0,'s');
+            Plant=syslin('c',[1/(s+1)*s/(s-1)^2]);     //Nominal Plant
+            P22=tf2ss(Plant);    //...in state-space form
+            [ny,nu,nx]=size(P22);
+            rand('seed',0);rand('normal');
+            bigQ=rand(nx+nu,nx+nu);
+            bigQ=bigQ*bigQ';
+            bigR=rand(nx+ny,nx+ny);
+            bigR=bigR*bigR';  //random weighting matrices
+            [Plqg,r]=lqg2stan(P22,bigQ,bigR);     //LQG pb as a standard problem
+            Klqg=lqg(Plqg,r);          //Controller
+            spec(h_cl(Plqg,r,Klqg))    //Check internal stability
+            [Slqg,Rlqg,Tlqg]=sensi(P22,Klqg);  //Sensitivity functions
+            frq=logspace(-3,3);     //10^-3  to 10^3
+            y=svplot(Slqg);       //Computes singular values;
+            gainplot(frq,y)   //Plot sing. values
+        </scilab:image>
+    </refsection>
     <refsection role="see also">
         <title>See Also</title>
         <simplelist type="inline">
index 9980711..ac8f348 100644 (file)
@@ -54,7 +54,7 @@
             <literal>R</literal> is strictly proper and <literal>- R~</literal> is stable 
             (i.e. <literal>R</literal> is anti stable).
         </para>
-        <programlisting role=""><![CDATA[ 
+        <programlisting role="no-scilab-exec"><![CDATA[ 
 || R - X ||oo = min || R - Y ||oo
               Y in Hoo
  ]]></programlisting>
index 0c15129..7b8de24 100644 (file)
@@ -18,7 +18,7 @@
     <refsynopsisdiv>
         <title>Calling Sequence</title>
         <synopsis>hallchart([ modules [,args [,colors]]])</synopsis>
-        <synopsis/>
+        
     </refsynopsisdiv>
     <refsection>
         <title>Arguments</title>
index 2297feb..826ad44 100644 (file)
@@ -103,6 +103,15 @@ E=[eye(n,n),G;               H=[A, 0*ones(n,n);
             with <literal>G=B/R*B'</literal>
         </para>
     </refsection>
+    
+    <refsection>
+        <title>Examples</title>
+        <programlisting role="example"><![CDATA[ 
+h=[0.5,4;
+0,-0.5]
+x=ric_desc(h)
+ ]]></programlisting>
+    </refsection>
     <refsection role="see also">
         <title>See Also</title>
         <simplelist type="inline">
index 11a73b1..63c4d4b 100644 (file)
@@ -76,6 +76,38 @@ A'*X*A-(A'*X*B1/(B2+B1'*X*B1))*(B1'*X*A)+C-X
             such that <literal>X=X1/X2</literal>.
         </para>
     </refsection>
+    <refsection>
+        <title>Examples</title>
+        <programlisting role="example"><![CDATA[
+// Continuous
+n = 10;
+A = rand(n,n);
+B = rand(n,n);
+C = rand(n,n);
+C = C*C';
+R = rand(n,n);
+R = R*R'+eye();
+B = B*inv(R)*B';
+
+
+X = riccati(A,B,C,'c','eigen')
+ ]]></programlisting>
+        <programlisting role="example"><![CDATA[
+// Discrete
+
+n = 10;
+F = rand(n,n);
+G1      = rand(n,n);
+G2 = rand(n,n);
+G2 = G2*G2'+eye();
+G      = G1/G2*G1';
+H      = rand(n,n);
+H = H*H';
+
+[X1,X2]= riccati(F,G,H,'d','schur')
+ ]]></programlisting>
+    </refsection>
+    
     <refsection role="see also">
         <title>See Also</title>
         <simplelist type="inline">
index 43bd32b..8baf17f 100644 (file)
@@ -93,7 +93,8 @@
     <refsection>
         <title>Examples</title>
         <programlisting role="example"><![CDATA[ 
-G=ssrand(1,1,3);K=ssrand(1,1,3);
+G=ssrand(1,1,3);
+K=ssrand(1,1,3);
 [Se,Re,Te]=sensi(G,K);
 Se1=inv(eye()+G*K);  //Other way to compute
 ss2tf(Se)    //Se seen in transfer form
index 0eb8255..71909e4 100644 (file)
             of the linear system <literal>Sl</literal>. <literal>nx</literal> is the number of states of <literal>Sl</literal>.
         </para>
     </refsection>
+    
+    <refsection>
+        <title>Examples</title>
+        <programlisting role="example"><![CDATA[
+
+a=[-2.2567e-02  -36.617  -18.897  -32.090  3.2509  -7.6257e-1;
+  9.2572e-05  -1.8997  9.8312e-01  -7.2562e-04  -1.7080e-01  -4.9652e-03;
+    1.2338e-02  11.720  -2.6316  8.7582e-04  -31.604  22.396;
+    0           0        1       0            0       0  ;
+    0           0        0       0           -30      0  ;
+    0           0        0       0            0      -30  ];
+
+b=0*ones(6,2);
+b(5,1)=30;
+b(6,2)=30;
+c=0*ones(2,6);
+c(1,2)=1;
+c(2,4)=1;
+G=syslin('c',a,b,c);
+r=syssize(G)
+   ]]></programlisting>
+        
+    </refsection>
+    
     <refsection role="see also">
         <title>See Also</title>
         <simplelist type="inline">
index 1e00f88..69b80e0 100644 (file)
@@ -18,7 +18,7 @@
     <refsynopsisdiv>
         <title>呼び出し手順</title>
         <synopsis>hallchart([ modules [,args [,colors]]])</synopsis>
-        <synopsis/>
+        
     </refsynopsisdiv>
     <refsection>
         <title>パラメータ</title>
index 9d111ce..9bac087 100644 (file)
@@ -18,7 +18,7 @@
     <refsynopsisdiv>
         <title>呼び出し手順</title>
         <synopsis>nicholschart([ modules [,args [,colors]]])</synopsis>
-        <synopsis/>
+        
     </refsynopsisdiv>
     <refsection>
         <title>引数</title>
index 93103f1..7cc8cd0 100644 (file)
@@ -181,7 +181,9 @@ BOOL GetLastJob(char *JOB, int nbcharsJOB)
             strcpy(JOB, lastjob);
         }
         else
+        {
             strncpy(JOB, lastjob, nbcharsJOB);
+        }
         return TRUE;
     }
     return FALSE;
@@ -227,6 +229,7 @@ int SendScilabJobs(char **jobs, int numberjobs)
                 else
                 {
                     fprintf(stderr, "Error: SendScilabJobs (2) 'jobs[%d] == NULL'.\n", i);
+                    FREE(LOCALJOBS);
                     return retcode;
                 }
             }
@@ -326,7 +329,9 @@ static BOOL RemoveCharsFromEOL(char *line, char CharToRemove)
             bOK = TRUE;
         }
         else
+        {
             break;
+        }
     }
     return bOK;
 }
@@ -355,7 +360,9 @@ static BOOL RemoveComments(char *line)
     }
 
     if (idx >= 0)
+    {
         line[idx] = '\0';
+    }
 
     return FALSE;
 }
index 2b7ff9e..ad3bef9 100644 (file)
@@ -98,12 +98,14 @@ end
 // =============================================================================
 macros_error_type_4 = ["max"; ..
 "min"; ..
-"fprintf"; ..
 "system"];
 msg_error_ref_4 = _("%s: Wrong number of input argument(s).\n");
 for i=1:size(macros_error_type_4, "*")
   assert_checkerror (macros_error_type_4(i) + "()" , msg_error_ref_4 , [] , macros_error_type_4(i));
 end
+wMode = warning("query");
+warning("off")
+assert_checkerror ("fprintf()" , msg_error_ref_4 , [] , "fprintf");
 // =============================================================================
 macros_error_type_5 = ["resize_matrix"];
 msg_error_ref_5 = _("%s: Wrong number of input argument(s): %d to %d expected.\n");
@@ -111,3 +113,4 @@ for i=1:size(macros_error_type_5, "*")
   assert_checkerror (macros_error_type_5(i) + "()" , msg_error_ref_5 , [] , macros_error_type_5(i) , 3, 4);
 end
 // =============================================================================
+warning(wMode);
\ No newline at end of file
index 86a117f..7eb6034 100644 (file)
@@ -98,12 +98,14 @@ end
 // =============================================================================
 macros_error_type_4 = ["max"; ..
 "min"; ..
-"fprintf"; ..
 "system"];
 msg_error_ref_4 = _("%s: Wrong number of input argument(s).\n");
 for i=1:size(macros_error_type_4, "*")
   assert_checkerror (macros_error_type_4(i) + "()" , msg_error_ref_4 , [] , macros_error_type_4(i));
 end
+wMode = warning("query");
+warning("off")
+assert_checkerror ("fprintf()" , msg_error_ref_4 , [] , "fprintf");
 // =============================================================================
 macros_error_type_5 = ["resize_matrix"];
 msg_error_ref_5 = _("%s: Wrong number of input argument(s): %d to %d expected.\n");
@@ -111,4 +113,4 @@ for i=1:size(macros_error_type_5, "*")
   assert_checkerror (macros_error_type_5(i) + "()" , msg_error_ref_5 , [] , macros_error_type_5(i) , 3, 4);
 end
 // =============================================================================
-
+warning(wMode);
index 22f8be7..f9be5ee 100644 (file)
             checking is done on <literal>ai</literal>'s.
         </para>
     </refsection>
+    <refsection>
+        <title>Examples</title>
+        <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+W=[1/s,1/(s+1)]
+W'*W
+Num=[s,s+2;1,s];
+Den=[s*s,s;s,s*s];
+rlist(Num,Den,[])
+ ]]></programlisting>
+    </refsection>
+    
     <refsection role="see also">
         <title>See Also</title>
         <simplelist type="inline">
@@ -42,6 +54,9 @@
             <member>
                 <link linkend="syslin">syslin</link>
             </member>
+            <member>
+                <link linkend="rational">rational</link>
+            </member>
         </simplelist>
     </refsection>
 </refentry>
index a027b54..1bebf90 100644 (file)
         <para>
         </para>
     </refsection>
+    <refsection>
+        <title>Exemples</title>
+        <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+W=[1/s,1/(s+1)]
+W'*W
+Num=[s,s+2;1,s];
+Den=[s*s,s;s,s*s];
+rlist(Num,Den,[])
+ ]]></programlisting>
+    </refsection>
     <refsection role="see also">
         <title>Voir aussi</title>
         <simplelist type="inline">
@@ -31,6 +42,9 @@
             <member>
                 <link linkend="syslin">syslin</link>
             </member>
+            <member>
+                <link linkend="rational">rational</link>
+            </member>
         </simplelist>
     </refsection>
 </refentry>
index c778302..c772ad1 100644 (file)
@@ -12,6 +12,8 @@
 //
 // <-- Short Description -->
 // regression fscanf
+wMode = warning("query");
+warning("off");
 fln = TMPDIR + filesep() +'bug_3905.txt';
 strs = ['txt1','txt2','txt3'];
 mputl(strs, fln);
@@ -26,3 +28,4 @@ if s3 <> 'txt3' then bugmes();quit;end
 file('close',fi);
 ierr = execstr("fscanf(9999,''%s'');","errcatch");
 if ierr <> 999 then bugmes();quit;end
+warning(wMode);
index 81bbf89..331fef5 100644 (file)
@@ -15,6 +15,9 @@
 // <-- Short Description -->
 // regression fscanf
 
+wMode = warning("query");
+warning("off");
+
 fln = TMPDIR + filesep() +'bug_3905.txt';
 strs = ['txt1','txt2','txt3'];
 mputl(strs, fln);
@@ -36,3 +39,5 @@ file('close',fi);
 
 ierr = execstr("fscanf(9999,''%s'');","errcatch");
 if ierr <> 999 then pause,end
+
+warning(wMode);
\ No newline at end of file
index 969d3de..3892974 100644 (file)
@@ -15,6 +15,8 @@
 // <-- Short Description -->
 // fscanf did not manage file descriptor as input argument
 //
+wMode = warning("query");
+warning("off");
 text =["blablabla"];
 mputl(text, TMPDIR + "/test1.txt");
 s1 = fscanf(TMPDIR + "/test1.txt", "%s");
@@ -24,3 +26,4 @@ s2 = fscanf(fd, "%s");
 mclose(fd);
 if text <> s2 then bugmes();quit;end
 if s1 <> s2 then bugmes();quit;end
+warning(wMode);
index df8b45d..2f2101e 100644 (file)
@@ -16,6 +16,9 @@
 // fscanf did not manage file descriptor as input argument
 //
 
+wMode = warning("query");
+warning("off");
+
 text =["blablabla"];
 mputl(text, TMPDIR + "/test1.txt");
 s1 = fscanf(TMPDIR + "/test1.txt", "%s");
@@ -27,3 +30,5 @@ mclose(fd);
 if text <> s2 then pause, end
 
 if s1 <> s2 then pause, end
+
+warning(wMode);
\ No newline at end of file
index e5d30d1..a8e702b 100644 (file)
@@ -14,6 +14,8 @@
 //
 // <-- Short Description -->
 // fscanf did not check number of input arguments
+wMode = warning("query");
+warning("off");
 msgError = gettext("%s: Wrong number of input arguments: %d expected.\n");
 assert_checkerror ("fscanf()", msgError , [] , "fscanf" , 2);
 msgError = gettext("%s: Wrong number of input arguments: %d expected.\n");
@@ -21,3 +23,4 @@ assert_checkerror ("fscanf(TMPDIR + ""/bug_9869.dat"")", msgError , [] , "fscanf
 mputl(string(1:4), TMPDIR + "/bug_9869.dat");
 R = fscanf(TMPDIR + "/bug_9869.dat","%d");
 assert_checkequal(R, 1);
+warning(wMode);
index f69f9c3..bcef5e4 100644 (file)
@@ -15,6 +15,9 @@
 // <-- Short Description -->
 // fscanf did not check number of input arguments
 
+wMode = warning("query");
+warning("off");
+
 msgError = gettext("%s: Wrong number of input arguments: %d expected.\n");
 assert_checkerror ("fscanf()", msgError , [] , "fscanf" , 2);
 
@@ -25,3 +28,5 @@ mputl(string(1:4), TMPDIR + "/bug_9869.dat");
 R = fscanf(TMPDIR + "/bug_9869.dat","%d");
 assert_checkequal(R, 1);
 
+warning(wMode);
+
index 1e3cb95..76161b0 100644 (file)
@@ -7,6 +7,8 @@
 // <-- CLI SHELL MODE -->
 // <-- NO CHECK ERROR OUTPUT -->
 // =============================================================================
+wMode = warning("query");
+warning("off");
 fprintf(0,'My error which is going to be displayed on the stderr');
 fprintf(6,'My error which is going to be displayed on the stdout');
 My error which is going to be displayed on the stdout
@@ -104,3 +106,4 @@ FMTS=["%s","%s"];
 ierr = execstr('fprintf(6,FMTS,5)','errcatch');
 if ierr <> 999 then bugmes();quit;end
 // =============================================================================
+warning(wMode);
index dd911fe..a7bae36 100644 (file)
@@ -7,6 +7,8 @@
 // <-- CLI SHELL MODE -->
 // <-- NO CHECK ERROR OUTPUT -->
 // =============================================================================
+wMode = warning("query");
+warning("off");
 fprintf(0,'My error which is going to be displayed on the stderr');
 fprintf(6,'My error which is going to be displayed on the stdout');
 // =============================================================================
@@ -85,3 +87,4 @@ FMTS=["%s","%s"];
 ierr = execstr('fprintf(6,FMTS,5)','errcatch');
 if ierr <> 999 then pause,end
 // =============================================================================
+warning(wMode);
\ No newline at end of file
index d71174e..9f02fab 100644 (file)
@@ -57,7 +57,10 @@ olddir=pwd();
     // =========================================================================
     fd = mopen(fileName+'_open','w');
     if (fileinfo(fileName+'_open')==[]) then bugmes();quit;end
+    wMode = warning("query");
+    warning("off");
     fprintf(fd,'%s %f',specialName+'3',%pi);
+    warning(wMode);
     filestuff=fileinfo(fileName+'_open');
     if (filestuff==[] & filestuff(1)>0) then bugmes();quit;end
     mclose(fd);
index ae824b2..fe44ae8 100644 (file)
@@ -80,7 +80,10 @@ olddir=pwd();
     // =========================================================================
     fd = mopen(fileName+'_open','w');
     if (fileinfo(fileName+'_open')==[]) then pause, end
+    wMode = warning("query");
+    warning("off");
     fprintf(fd,'%s %f',specialName+'3',%pi);
+    warning(wMode);
     filestuff=fileinfo(fileName+'_open');
     if (filestuff==[] & filestuff(1)>0) then pause, end
     mclose(fd);
index 53a7e08..cc3e462 100644 (file)
@@ -5,6 +5,8 @@
 //  This file is distributed under the same license as the Scilab package.
 // =============================================================================
 // <-- CLI SHELL MODE -->
+wMode = warning("query");
+warning("off");
 n = 50;
 nstr = strcat(string(1:n),' ');
 fstr = strcat(strsubst(string(ones(1,n)),'1','%d'), ' ');
@@ -109,3 +111,4 @@ if a<>4|b<>'test'|c<>23.45 then bugmes();quit;end
  
     123.  
 if a<>123|b<>456 then bugmes();quit;end
+warning(wMode);
index 6c9eb23..2fce20f 100644 (file)
@@ -7,6 +7,9 @@
 
 // <-- CLI SHELL MODE -->
 
+wMode = warning("query");
+warning("off");
+
 n = 50;
 nstr = strcat(string(1:n),' ');
 fstr = strcat(strsubst(string(ones(1,n)),'1','%d'), ' ');
@@ -111,4 +114,6 @@ if sscanf('123 4','123%e')<>4 then pause,end
 if a<>4|b<>'test'|c<>23.45 then pause,end
 
 [a,b]=sscanf('123\n456','%e%e')
-if a<>123|b<>456 then pause,end
\ No newline at end of file
+if a<>123|b<>456 then pause,end
+
+warning(wMode);
\ No newline at end of file
index 5922f01..9a73495 100644 (file)
@@ -18,7 +18,7 @@
     </refnamediv>
     <refsynopsisdiv>
         <title>Calling Sequence</title>
-        <synopsis/>
+        
     </refsynopsisdiv>
     <refsection>
         <title>Description</title>
index 1811939..5664137 100644 (file)
         <title>Description</title>
         <para>
             returns as a character string
-            the name of the library containing the function <literal>function-name</literal>. 
+            the name of the library containing the function <literal>function-name</literal>.
             The path of the library is returned by typing <literal>"librname"</literal>.
         </para>
     </refsection>
+    <refsection>
+        <title>Exemples</title>
+        <programlisting role="example"><![CDATA[
+whereis("ls") // Should return fileiolib
+whereis("plot") // Should return graphicslib
+ ]]></programlisting>
+    </refsection>
+    
     <refsection role="see also">
         <title>See Also</title>
         <simplelist type="inline">
index 60a364d..fba448a 100644 (file)
@@ -77,6 +77,30 @@ foo(30)
 //get execution profiles
 plotprofile(foo) // click on Exit to exit
   ]]></programlisting>
+        
+        <programlisting role="example"><![CDATA[ 
+// with the exec function
+tmpfile = TMPDIR + "/myFunction.sci";
+mputl(["function myFunction()"
+       "runs = 50;"
+       "b = 0;"
+       "for i = 1:runs"
+       "  b = zeros(220, 220);"
+       "    for j = 1:220"
+       "      for k = 1:220"
+       "        b(k,j) = abs(j - k) + 1;"
+       "      end"
+       "    end"
+       "end"
+       "endfunction"], tmpfile);
+
+exec(tmpfile)
+add_profiling("myFunction");
+myFunction();
+
+//get execution profiles
+plotprofile(myFunction) // click on Exit to exit
+  ]]></programlisting>
     </refsection>
     <refsection role="see also">
         <title>See Also</title>
index 4f579ef..e895d60 100644 (file)
@@ -2,7 +2,7 @@
 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="whereis">
     <refnamediv>
         <refname>whereis</refname>
-        <refpurpose>nom de la bibliothèque contenant une fonction  </refpurpose>
+        <refpurpose>nom de la bibliothèque contenant une fonction</refpurpose>
     </refnamediv>
     <refsynopsisdiv>
         <title>Séquence d'appel</title>
         <title>Description</title>
         <para>
             Renvoie une chaîne de caractères contenant le nom de la bibliothèque contenant
-            la fonction <literal>function-name</literal>. 
+            la fonction <literal>function-name</literal>.
             Le chemin d'accès à la bibliothèque peut être obtenu avec la fonction <literal>"librname"</literal>.
         </para>
     </refsection>
+    <refsection>
+        <title>Examples</title>
+        <programlisting role="example"><![CDATA[
+whereis("ls") // Devrait retourner fileiolib
+whereis("plot") // Devrait retourner graphicslib
+ ]]></programlisting>
+    </refsection>
+    
     <refsection role="see also">
         <title>Voir aussi</title>
         <simplelist type="inline">
index 6fbb857..b444b38 100644 (file)
@@ -18,7 +18,7 @@
     </refnamediv>
     <refsynopsisdiv>
         <title>呼び出し手順</title>
-        <synopsis/>
+        
     </refsynopsisdiv>
     <refsection>
         <title>説明</title>
index a5498fc..5386312 100644 (file)
@@ -17,7 +17,7 @@
     </refnamediv>
     <refsynopsisdiv>
         <title>Seqüência de Chamamento</title>
-        <synopsis/>
+        
     </refsynopsisdiv>
     <refsection>
         <title>Descrição</title>
index 23c2714..30d8b8a 100644 (file)
@@ -30,11 +30,6 @@ public :
         return DataModel::get()->getGraphicObjectProperty(_pstID, _iName, _pvData);
     }
 
-    static void getGraphicObjectIntProperty(char const* _pstID, int _iName, void **_pvData)
-    {
-        return DataModel::get()->getGraphicObjectIntProperty(_pstID, _iName, _pvData);
-    }
-
     static char const* createDataObject(char const* _pstID, int _iType)
     {
         return DataModel::get()->createDataObject(_pstID, _iType);
index 6bb9874..6f35b28 100644 (file)
@@ -65,15 +65,6 @@ public :
     /** Returns a graphic object vector property */
     void getGraphicObjectProperty(char const* _pstID, int _iName, void **_pvData);
 
-    /**
-     * Returns a graphic object integer property
-     * Implemented in order to avoid returning the address of a
-     * static local variable across too many function calls (see the getProperty
-     * methods of the different Data classes when integer values are returned)
-     * Probably redundant with getGraphicObjectProperty
-     */
-    void getGraphicObjectIntProperty(char const* _pstID, int _iName, void **_pvData);
-
     /** Creates a data object */
     char const* createDataObject(char const* _pstID, int _iType);
 
index 8346d5c..69f4601 100644 (file)
@@ -56,16 +56,6 @@ void DataModel::getGraphicObjectProperty(char const* _pstID, int _iName, void **
     dataObject->getDataProperty(property, _pvData);
 }
 
-void DataModel::getGraphicObjectIntProperty(char const* _pstID, int _iName, void **_pvData)
-{
-    Data3D* dataObject = NULL;
-    int property = 0;
-
-    property = (*m_dataMap)[std::string(_pstID)]->getPropertyFromName(_iName);
-
-    dataObject->getDataProperty(property, _pvData);
-}
-
 char const* DataModel::createDataObject(char const* _pstID, int _iType)
 {
     Data3D* newObject = NULL;
@@ -75,27 +65,28 @@ char const* DataModel::createDataObject(char const* _pstID, int _iType)
      * (getTypeFromName) in order to avoid strcmp calls.
      */
 
-    switch (_iType) {
-    case __GO_GRAYPLOT__ :
-        newObject = new NgonGridData();
-        break;
-    case __GO_MATPLOT__ :
-        newObject = new NgonGridMatplotData();
-        break;
-    case __GO_FAC3D__ :
-        newObject = new NgonGeneralData();
-        break;
-    case __GO_PLOT3D__ :
-        newObject = new NgonGridData();
-        break;
-    case __GO_POLYLINE__ :
-        newObject = new NgonPolylineData();
-        break;
-    case __GO_FEC__ :
-        newObject = new TriangleMeshFecData();
-        break;
-    default :
-        return NULL;
+    switch (_iType)
+    {
+        case __GO_GRAYPLOT__ :
+            newObject = new NgonGridData();
+            break;
+        case __GO_MATPLOT__ :
+            newObject = new NgonGridMatplotData();
+            break;
+        case __GO_FAC3D__ :
+            newObject = new NgonGeneralData();
+            break;
+        case __GO_PLOT3D__ :
+            newObject = new NgonGridData();
+            break;
+        case __GO_POLYLINE__ :
+            newObject = new NgonPolylineData();
+            break;
+        case __GO_FEC__ :
+            newObject = new TriangleMeshFecData();
+            break;
+        default :
+            return NULL;
     }
 
     (*m_dataMap)[std::string(_pstID)] = newObject;
index 1c2fc7e..c42720b 100644 (file)
@@ -175,6 +175,11 @@ int sci_delete(char *fname, void* pvApiCtx)
                             deleteGraphicObject(childrenUID[i]);
                         }
                     }
+                    /*
+                     * Clone a new Axes object using the Axes model which is then
+                     * attached to the 'cleaned' Figure.
+                     */
+                    cloneAxesModel(pFigureUID);
 
                     AssignOutputVariable(pvApiCtx, 1) = 0;
                     ReturnArguments(pvApiCtx);
index d7cc0b0..c15f407 100644 (file)
@@ -298,6 +298,11 @@ int sci_set(char *fname, void *pvApiCtx)
             }
         }
 
+        if (isMatrixOfString)
+        {
+            freeArrayOfString((char **)_pvData, iRows3 * iCols3);
+        }
+
         AssignOutputVariable(pvApiCtx, 1) = 0;
         ReturnArguments(pvApiCtx);
     }
diff --git a/scilab/modules/graphics/tests/nonreg_tests/bug_12219.dia.ref b/scilab/modules/graphics/tests/nonreg_tests/bug_12219.dia.ref
new file mode 100644 (file)
index 0000000..299dcca
--- /dev/null
@@ -0,0 +1,30 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Bruno JOFRET
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- TEST WITH GRAPHIC -->
+//
+// <-- Non-regression test for bug 12219 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=12219
+//
+// <-- Short Description -->
+// delete('all') delete current axes and does not create a new one
+f = gcf();
+oldAxeUID = f.children(1).UID;
+delete("all");
+assert_checkequal(size(f.children, '*'), 1);
+assert_checkequal(f.children(1).type, "Axes");
+assert_checktrue(f.children(1).UID <> oldAxeUID);
+plot2d();
+a = gca();
+assert_checkequal(size(a.children, '*'), 1);
+assert_checkequal(a.children(1).type, "Compound");
+delete('all');
+a = gca();
+assert_checkequal(size(a.children, '*'), 0);
+assert_checkequal(a.children, []);
diff --git a/scilab/modules/graphics/tests/nonreg_tests/bug_12219.tst b/scilab/modules/graphics/tests/nonreg_tests/bug_12219.tst
new file mode 100644 (file)
index 0000000..3f8ce38
--- /dev/null
@@ -0,0 +1,36 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Bruno JOFRET
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- TEST WITH GRAPHIC -->
+//
+// <-- Non-regression test for bug 12219 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=12219
+//
+// <-- Short Description -->
+// delete('all') delete current axes and does not create a new one
+
+f = gcf();
+oldAxeUID = f.children(1).UID;
+
+delete("all");
+
+assert_checkequal(size(f.children, '*'), 1);
+assert_checkequal(f.children(1).type, "Axes");
+assert_checktrue(f.children(1).UID <> oldAxeUID);
+
+plot2d();
+a = gca();
+assert_checkequal(size(a.children, '*'), 1);
+assert_checkequal(a.children(1).type, "Compound");
+delete('all');
+
+a = gca();
+assert_checkequal(size(a.children, '*'), 0);
+assert_checkequal(a.children, []);
+
index 8fbd8c9..8aeb36c 100644 (file)
@@ -159,6 +159,7 @@ static char* readAttribute(int _iDatasetId, const char *_pstName)
         status = H5Tset_size(memtype, iDim);
         if (status < 0)
         {
+            FREE(pstValue);
             return NULL;
         }
 
@@ -274,6 +275,7 @@ int getDatasetInfo(int _iDatasetId, int* _iComplex, int* _iDims, int* _piDims)
         hsize_t* dims = (hsize_t*)MALLOC(sizeof(hsize_t) * *_iDims);
         if (H5Sget_simple_extent_dims(space, dims, NULL) < 0)
         {
+            FREE(dims);
             return -1;
         }
 
@@ -508,6 +510,7 @@ int readDoubleComplexMatrix(int _iDatasetId, double *_pdblReal, double *_pdblImg
     status = H5Dread(_iDatasetId, compoundId, H5S_ALL, H5S_ALL, H5P_DEFAULT, pData);
     if (status < 0)
     {
+        FREE(pData);
         return -1;
     }
 
diff --git a/scilab/modules/helptools/images/lqg_1.png b/scilab/modules/helptools/images/lqg_1.png
new file mode 100644 (file)
index 0000000..e1b0bfd
Binary files /dev/null and b/scilab/modules/helptools/images/lqg_1.png differ
index 4ba5723..8e4ebea 100644 (file)
 #include "loadBackGroundClassPath.h"
 #include "loadOnUseClassPath.h"
 #include "localization.h"
+
+#ifdef _MSC_VER
+#include "getScilabJNIEnv.h"
+#include "getScilabJavaVM.h"
+#include "getScilabObject.h"
+#include "addToClasspath.h"
+#include "addToLibrarypath.h"
+#include "catchIfJavaException.h"
+#endif
+
 /*--------------------------------------------------------------------------*/
 JVM_IMPEXP int gw_jvm(void)
 {
@@ -27,6 +37,37 @@ JVM_IMPEXP int gw_jvm(void)
     return 0;
 }
 
+#ifdef _MSC_VER
+JNIEnv *getScilabJNIEnv(void)
+{
+    return NULL;
+}
+
+JavaVM *getScilabJavaVM(void)
+{
+    return NULL;
+}
+
+jobject getScilabObject(void)
+{
+    return NULL;
+}
+
+BOOL addToClasspath(char *classpathstring, typeOfLoad load)
+{
+    return FALSE;
+}
+
+BOOL addToLibrarypath(char *librarypathstring)
+{
+    return FALSE;
+}
+
+BOOL catchIfJavaException(char *errorMsg)
+{
+    return FALSE;
+}
+#endif
 /*--------------------------------------------------------------------------*/
 JVM_IMPEXP BOOL InitializeJVM(void)
 {
@@ -53,14 +94,14 @@ JVM_IMPEXP BOOL loadOnUseClassPath(char const* tag)
 
 /*--------------------------------------------------------------------------*/
 /* BUG 10325: FORCE EXPORT canCloseMainScilabObject on Windows */
-JVM_IMPEXP BOOL canCloseMainScilabObject(void)
+BOOL canCloseMainScilabObject(void)
 {
     return TRUE;
 }
 
 /*--------------------------------------------------------------------------*/
 /* BUG 10325: FORCE EXPORT forceCloseMainScilabObject on Windows */
-JVM_IMPEXP void forceCloseMainScilabObject(void)
+void forceCloseMainScilabObject(void)
 {
 }
 
index abb0dd1..a1d0444 100644 (file)
@@ -91,6 +91,7 @@
       <TargetMachine>MachineX86</TargetMachine>
       <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <ModuleDefinitionFile>nolibjvm_export.def</ModuleDefinitionFile>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
       <TargetMachine>MachineX64</TargetMachine>
       <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <ModuleDefinitionFile>nolibjvm_export.def</ModuleDefinitionFile>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
       <TargetMachine>MachineX86</TargetMachine>
       <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <ModuleDefinitionFile>nolibjvm_export.def</ModuleDefinitionFile>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
       <TargetMachine>MachineX64</TargetMachine>
       <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <ModuleDefinitionFile>nolibjvm_export.def</ModuleDefinitionFile>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
     </ProjectReference>
   </ItemGroup>
+  <ItemGroup>
+    <None Include="nolibjvm_export.def" />
+  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
index e598d7b..2b3698c 100644 (file)
@@ -16,6 +16,9 @@
     <Filter Include="Libraries Dependencies">
       <UniqueIdentifier>{9c8bab13-f3d2-452b-9c1c-1694fefd0ef9}</UniqueIdentifier>
     </Filter>
+    <Filter Include="Libraries Dependencies\Exports">
+      <UniqueIdentifier>{a507bbeb-a681-469c-b873-32951fed3162}</UniqueIdentifier>
+    </Filter>
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="nojvm.c">
@@ -27,4 +30,9 @@
       <Filter>Resource Files</Filter>
     </ResourceCompile>
   </ItemGroup>
+  <ItemGroup>
+    <None Include="nolibjvm_export.def">
+      <Filter>Libraries Dependencies\Exports</Filter>
+    </None>
+  </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/scilab/modules/jvm/src/nojvm/nolibjvm_export.def b/scilab/modules/jvm/src/nojvm/nolibjvm_export.def
new file mode 100644 (file)
index 0000000..e76d553
--- /dev/null
@@ -0,0 +1,15 @@
+LIBRARY    nolibjvm.dll
+
+
+EXPORTS
+; --------------------------------------- 
+; jvm module explicit export (SEP 35)
+; --------------------------------------- 
+getScilabJavaVM
+getScilabJNIEnv
+addToClasspath
+addToLibrarypath
+getScilabObject
+; --------------------------------------- 
+canCloseMainScilabObject
+forceCloseMainScilabObject
\ No newline at end of file
index 9d4f590..847ca3b 100644 (file)
@@ -88,6 +88,7 @@ BOOL InitializeLocalization(void)
     if (ret==NULL)
     {
         fprintf(stderr, "Localization: Error while declaring the text domain %s\n", NAMELOCALIZATIONDOMAIN);
+        FREE(pathLocales);
         return FALSE;
     }
     bind_textdomain_codeset (NAMELOCALIZATIONDOMAIN,"UTF-8"); /*such that gettext and dgettext return UTF8 string*/
index 5a6d935..e60899a 100644 (file)
 /* MAXCHARSSCIPRINT_FULL is for sciprint_full - more than this gets truncated */
 #define MAXCHARSSCIPRINT_FULL 5000
 /*--------------------------------------------------------------------------*/
-void sciprint_full(char *fmt,...)
+void sciprint_full(char *fmt, ...)
 {
-       int lstr;
-       va_list ap;
-       char *s_buf=NULL;
-       char *split_s_buf=NULL;
-       int count=0;
-       int p_s=0;
-       static int colwidth;
+    int lstr;
+    va_list ap;
+    char *s_buf = NULL;
+    char *split_s_buf = NULL;
+    int count = 0;
+    int p_s = 0;
+    static int colwidth;
 
-       s_buf=MALLOC(sizeof(char)*(MAXCHARSSCIPRINT_FULL+1));
-       if (s_buf == (char *) 0)
-       {
-               sciprint(_("%s: No more memory.\n"),"sciprint_full");
-               return;
-       }
+    s_buf = MALLOC(sizeof(char) * (MAXCHARSSCIPRINT_FULL + 1));
+    if (s_buf == (char *) 0)
+    {
+        sciprint(_("%s: No more memory.\n"), "sciprint_full");
+        return;
+    }
 
-       /* number of columns as set by command lines() */
-       colwidth = getColumnsSize();
+    /* number of columns as set by command lines() */
+    colwidth = getColumnsSize();
 
-       split_s_buf=MALLOC(sizeof(char)*(colwidth+1));
-       if (split_s_buf == (char *) 0)
-       {
-               sciprint(_("%s: No more memory.\n"),"sciprint_full");
-               return;
-       }
+    split_s_buf = MALLOC(sizeof(char) * (colwidth + 1));
+    if (split_s_buf == (char *) 0)
+    {
+        sciprint(_("%s: No more memory.\n"), "sciprint_full");
+        FREE(s_buf);
+        return;
+    }
 
-       va_start(ap,fmt);
+    va_start(ap, fmt);
 
 #if defined(linux) || defined(_MSC_VER)
-       count = vsnprintf (s_buf,MAXCHARSSCIPRINT_FULL-1, fmt, ap );
-       if (count == -1)
-       {
-               s_buf[MAXCHARSSCIPRINT_FULL-1]='\0';
-       }
+    count = vsnprintf (s_buf, MAXCHARSSCIPRINT_FULL - 1, fmt, ap );
+    if (count == -1)
+    {
+        s_buf[MAXCHARSSCIPRINT_FULL - 1] = '\0';
+    }
 #else
-       (void )vsprintf(s_buf, fmt, ap );
+    (void )vsprintf(s_buf, fmt, ap );
 #endif
 
-       va_end(ap);
+    va_end(ap);
 
-       lstr=(int) strlen(s_buf);
+    lstr = (int) strlen(s_buf);
 
-       if (lstr<colwidth)
-       {
-               sciprint("%s",s_buf);
-       }
-       else
-       {
-               strncpy(split_s_buf,s_buf+p_s,colwidth-1);
-               split_s_buf[colwidth]='\0';
-               p_s=p_s+colwidth-1;
-               sciprint("%s",split_s_buf);
-               sciprint("\n");
-               while (p_s+colwidth-1<(int)lstr)
-               {
-                       strncpy(split_s_buf,s_buf+p_s,colwidth-1);
-                       split_s_buf[colwidth]='\0';
-                       p_s=p_s+colwidth-1;
-                       sciprint(_("  (cont'd) %s\n"),split_s_buf);
-               }
-               strncpy(split_s_buf,s_buf+p_s,lstr-p_s);
-               split_s_buf[lstr-p_s]='\0';
-               sciprint(_("     (end) %s\n"),split_s_buf);
-       }
+    if (lstr < colwidth)
+    {
+        sciprint("%s", s_buf);
+    }
+    else
+    {
+        strncpy(split_s_buf, s_buf + p_s, colwidth - 1);
+        split_s_buf[colwidth] = '\0';
+        p_s = p_s + colwidth - 1;
+        sciprint("%s", split_s_buf);
+        sciprint("\n");
+        while (p_s + colwidth - 1 < (int)lstr)
+        {
+            strncpy(split_s_buf, s_buf + p_s, colwidth - 1);
+            split_s_buf[colwidth] = '\0';
+            p_s = p_s + colwidth - 1;
+            sciprint(_("  (cont'd) %s\n"), split_s_buf);
+        }
+        strncpy(split_s_buf, s_buf + p_s, lstr - p_s);
+        split_s_buf[lstr - p_s] = '\0';
+        sciprint(_("     (end) %s\n"), split_s_buf);
+    }
 
-       if (s_buf){FREE(s_buf);s_buf=NULL;}
-       if (split_s_buf){FREE(split_s_buf);split_s_buf=NULL;}
+    if (s_buf)
+    {
+        FREE(s_buf);
+        s_buf = NULL;
+    }
+    if (split_s_buf)
+    {
+        FREE(split_s_buf);
+        split_s_buf = NULL;
+    }
 
 }
 /*--------------------------------------------------------------------------*/
index 1956554..ee2af67 100644 (file)
@@ -31,7 +31,7 @@ Source: bin\sci{#RENDERER}.dll; DestDir: {app}\bin; Components: {#COMPN_GRAPHICS
 Source: thirdparty\gluegen2-rt.jar; DestDir: {app}\thirdparty; Components: {#COMPN_GRAPHICS}
 Source: thirdparty\jogl2.jar;DestDir: {app}\thirdparty; Components: {#COMPN_GRAPHICS}
 ;
-Source: thirdparty\scirenderer-1.0.3.jar;DestDir: {app}\thirdparty; Components: {#COMPN_GRAPHICS}
+Source: thirdparty\scirenderer-1.0.4.jar;DestDir: {app}\thirdparty; Components: {#COMPN_GRAPHICS}
 ;
 Source: thirdparty\fonts\scilabsymbols.ttf;DestDir: {app}\thirdparty\fonts; Components: {#COMPN_GRAPHICS}
 ;
index 0c14623..50bf189 100644 (file)
@@ -5829,6 +5829,11 @@ int write_xml_states(int nvar, const char * xmlfile, char **ids, double *x)
     if (fd < 0)
     {
         sciprint(_("Error: cannot write to  '%s'  \n"), xmlfile);
+        for (i = 0; i < nvar; i++)
+        {
+            FREE(xv[i]);
+        }
+        FREE(xv);
         return -3;/* cannot write to file*/
     }
 
@@ -5927,7 +5932,11 @@ int C2F(hfjac)(double *x, double *jac, int *col)
 
     job = 0;
     fx_(x, jac);
-    if (*ierr < 0) return *ierr;
+    if (*ierr < 0)
+    {
+        FREE(work);
+        return *ierr;
+    }
 
     inc_inv = ONE / inc;
 
index a1d0647..3861769 100644 (file)
@@ -224,7 +224,7 @@ msgstr ""
 #
 # File: sci_gateway/c/sci_csvTextScan.c, line: 239
 #, c-format
-msgid "%s: Wrong size for input argument #%d: Vector string expected.\n"
+msgid "%s: Wrong size for input argument #%d: String vector expected.\n"
 msgstr ""
 
 #
index 9f18bce..a64b598 100644 (file)
@@ -234,7 +234,7 @@ int sci_csvTextScan(char *fname, void* pvApiCtx)
             FREE(conversion);
             conversion = NULL;
         }
-        Scierror(999, _("%s: Wrong size for input argument #%d: Vector string expected.\n"), fname, 1);
+        Scierror(999, _("%s: Wrong size for input argument #%d: String vector expected.\n"), fname, 1);
         return 0;
     }
 
diff --git a/scilab/modules/spreadsheet/tests/nonreg_tests/bug_12220.dia.ref b/scilab/modules/spreadsheet/tests/nonreg_tests/bug_12220.dia.ref
new file mode 100644 (file)
index 0000000..9ee6b7d
--- /dev/null
@@ -0,0 +1,27 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - Scilab Enterprises - Sylvestre Ledru
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// 
+// <-- JAVA NOT MANDATORY -->
+//
+// <-- Non-regression test for bug 12220 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=12220
+//
+// <-- Short Description -->
+// csvTextScan unexpected behavior for missing data
+//
+content_ref = [ "26,12-10-2011 18:00,29.83,69.1,42,35.5,83,30.8,35.5,0,SSW,0,0,0" ..
+"27,12-10-2011 19:00,29.83,68.9,42,35.6,84,31.3,35.6,0,SSW,0,0,0" ..
+"28,12-10-2011 20:00,29.83,68.2,43,35.6,84,31.3,,,,,0,0" ..
+"29,12-10-2011 21:00,29.82,67.3,43,35.3,84,31,,,,,0,0" ];
+filename=TMPDIR+"/foo.csv";
+mputl(content_ref,filename);
+StrLines = mgetl(filename);
+StrMat1 = csvTextScan(StrLines(1), ',', '.', 'string');
+StrMat3 = csvTextScan(StrLines(3), ',', '.', 'string');
+assert_checkequal(size(StrMat1), size(StrMat3));
diff --git a/scilab/modules/spreadsheet/tests/nonreg_tests/bug_12220.tst b/scilab/modules/spreadsheet/tests/nonreg_tests/bug_12220.tst
new file mode 100644 (file)
index 0000000..c8a8e52
--- /dev/null
@@ -0,0 +1,31 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - Scilab Enterprises - Sylvestre Ledru
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// 
+// <-- JAVA NOT MANDATORY -->
+//
+// <-- Non-regression test for bug 12220 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=12220
+//
+// <-- Short Description -->
+// csvTextScan unexpected behavior for missing data
+//
+
+content_ref = [ "26,12-10-2011 18:00,29.83,69.1,42,35.5,83,30.8,35.5,0,SSW,0,0,0" ..
+"27,12-10-2011 19:00,29.83,68.9,42,35.6,84,31.3,35.6,0,SSW,0,0,0" ..
+"28,12-10-2011 20:00,29.83,68.2,43,35.6,84,31.3,,,,,0,0" ..
+"29,12-10-2011 21:00,29.82,67.3,43,35.3,84,31,,,,,0,0" ];
+filename=TMPDIR+"/foo.csv";
+
+mputl(content_ref,filename);
+
+StrLines = mgetl(filename);
+StrMat1 = csvTextScan(StrLines(1), ',', '.', 'string');
+StrMat3 = csvTextScan(StrLines(3), ',', '.', 'string');
+
+assert_checkequal(size(StrMat1), size(StrMat3));
index 13d387e..1c1fa95 100644 (file)
@@ -63,7 +63,7 @@ void UpdateBrowseVar(BOOL update)
     int *piAllVariableBytes = (int *)MALLOC((iLocalVariablesUsed + iGlobalVariablesUsed) * sizeof(int));
     char **pstAllVariableSizes = (char **)MALLOC((iLocalVariablesUsed + iGlobalVariablesUsed) * sizeof(char *));
     int *piAllVariableTypes = (int *)MALLOC((iLocalVariablesUsed + iGlobalVariablesUsed) * sizeof(int));
-    bool *piAllVariableFromUser = (bool *) MALLOC((iLocalVariablesUsed + iGlobalVariablesUsed) * sizeof(BOOL));
+    bool *piAllVariableFromUser = (bool *) MALLOC((iLocalVariablesUsed + iGlobalVariablesUsed) * sizeof(bool));
     int nbRows, nbCols;
     char *sizeStr = NULL;
 
index c571665..5546080 100644 (file)
@@ -28,7 +28,7 @@
     </refnamediv>
     <refsynopsisdiv>
         <title>Description</title>
-        <synopsis/>
+        
     </refsynopsisdiv>
     <refsection id="Contents_C_struct">
         <title>Contents</title>
index 7f49fd7..4ffb471 100644 (file)
@@ -37,9 +37,11 @@ import org.scilab.modules.xcos.block.io.ImplicitOutBlock;
 import org.scilab.modules.xcos.utils.XcosEvent;
 import org.scilab.modules.xcos.utils.XcosMessages;
 
+import com.mxgraph.model.mxCell;
 import com.mxgraph.model.mxICell;
 import com.mxgraph.util.mxEvent;
 import com.mxgraph.util.mxEventObject;
+import com.mxgraph.util.mxUtils;
 
 public final class SuperBlockDiagram extends XcosDiagram implements Serializable, Cloneable {
 
@@ -199,6 +201,19 @@ public final class SuperBlockDiagram extends XcosDiagram implements Serializable
             err = str.toString();
         }
 
+        // Update the port labels on the superblock
+        if (err == null) {
+            mxCell identifier = this.getOrCreateCellIdentifier(block);
+            final Object current = this.getModel().getValue(identifier);
+            String text = "";
+            if (current == null) {
+                text = "";
+            } else {
+                text = mxUtils.getBodyMarkup(current.toString(), false);
+            }
+            this.fireEvent(new mxEventObject(mxEvent.LABEL_CHANGED, "cell", identifier, "value", text, "parent", block));
+        }
+
         return err;
     }
 
index 41f0dc3..4c986fe 100644 (file)
@@ -6,7 +6,7 @@ flexdock.jar=${thirdparty.dir}/flexdock-1.2.1.jar
 
 jgraphx.jar=${thirdparty.dir}/jgraphx.jar
 
-scirenderer.jar=${thirdparty.dir}/scirenderer-1.0.3.jar
+scirenderer.jar=${thirdparty.dir}/scirenderer-1.0.4.jar
 
 jogl2.jar=${thirdparty.dir}/jogl2.jar