* Bug 8180 fixed: editing EXPRESSION block parameters changed ieee mode 98/19398/3
Samuel GOUGEON [Tue, 22 Aug 2017 13:47:58 +0000 (15:47 +0200)]
Change-Id: I2ac16b7213ce580c43e9b569263f96985f1c790f

scilab/CHANGES.md
scilab/modules/scicos_blocks/macros/Misc/EXPRESSION.sci
scilab/modules/scicos_blocks/tests/nonreg_tests/bug_8180.tst [new file with mode: 0644]

index 7542157..5ba4562 100644 (file)
@@ -395,6 +395,7 @@ the [development mailing list](dev@lists.scilab.org) for a particular toolbox.
 * [#6813](http://bugzilla.scilab.org/show_bug.cgi?id=6813): `makecell` used to create a N>2-D hyperarray yielded an error.
 * [#6911](http://bugzilla.scilab.org/show_bug.cgi?id=6911): `help_from_sci` did not accept numerical HTML entities like `ω` in heading comments.
 * [#7652](http://bugzilla.scilab.org/show_bug.cgi?id=7652): Inserting `list("")` in a cells array could be erroneous.
+* [#8140](http://bugzilla.scilab.org/show_bug.cgi?id=8140): Editing parameters of the EXPRESSION Xcos block changed Scilab's IEEE mode.
 * [#8297](http://bugzilla.scilab.org/show_bug.cgi?id=8297): `cat` slowness was exponential, crippling, and made it useless.
 * [#8669](http://bugzilla.scilab.org/show_bug.cgi?id=8669): After `A=rand(3,3)`, some legal insertions in `A(*,*,:)` failed. Non regression tests added.
 * [#8842](http://bugzilla.scilab.org/show_bug.cgi?id=8842): Assigning the pointer of a builtin function to a new structure failed.
index 224d133..9433331 100644 (file)
@@ -33,6 +33,7 @@ function [x,y,typ]=EXPRESSION(job,arg1,arg2)
         for ii=1:8,
             execstr("%scicos_context.u"+string(ii)+"=0"),
         end
+        old_ieee = ieee();
         ieee(2)
         while %t do
             // http://bugzilla.scilab.org/14680: converting "&lt;" to "<" to make the expression editable:
@@ -110,6 +111,8 @@ function [x,y,typ]=EXPRESSION(job,arg1,arg2)
                 end
             end
         end
+        ieee(old_ieee);
+
     case "define" then
         in=[1;1]
         out=1
diff --git a/scilab/modules/scicos_blocks/tests/nonreg_tests/bug_8180.tst b/scilab/modules/scicos_blocks/tests/nonreg_tests/bug_8180.tst
new file mode 100644 (file)
index 0000000..27e7cf4
--- /dev/null
@@ -0,0 +1,31 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2017 - Samuel GOUGEON
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- XCOS TEST -->
+// <-- INTERACTIVE TEST -->
+//
+// <-- Non-regression test for bug 8180 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/8180
+//
+// <-- Short Description -->
+// Editing parameters of the EXPRESSION block changed the IEEE mode.
+
+mymode = ieee();
+ieee(2);
+// * Drag and drop a User-defined => EXPRESSION block in a diagram
+// * Double-clic on it to open its Parameters editor
+// * Change nothing and just validate
+ieee();
+// The IEEE mode should still be 2
+// Do the same after
+ieee(1);
+// ...
+
+// Restore mymode
+ieee(mymode);