* Bugs 14629 & 14680 fixed: '<' caused trouble in Xcos EXPRESSION rendering 88/19388/2
Samuel GOUGEON [Thu, 17 Aug 2017 23:54:46 +0000 (01:54 +0200)]
 * http://bugzilla.scilab.org/14680: '<' in expression was eaten in the icon
 * http://bugzilla.scilab.org/14629: The last '<' truncated the rendering

Change-Id: I5668e5dfed7cbd2ffbf2c5d429d94d982fbb44e8

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

index c7ad8d6..9758287 100644 (file)
@@ -356,8 +356,10 @@ the [development mailing list](dev@lists.scilab.org) for a particular toolbox.
 * [#14399](http://bugzilla.scilab.org/show_bug.cgi?id=14399): Whereami : wrong information (line numbers).
 * [#14424](http://bugzilla.scilab.org/show_bug.cgi?id=14424): New problem with the input function.
 * [#14598](http://bugzilla.scilab.org/show_bug.cgi?id=14598): `fort` wasn't properly removed.
+* [#14629](http://bugzilla.scilab.org/show_bug.cgi?id=14629): In the Xcos EXPRESSION block, `<` could truncate the rendering of the expression in the icon.
 * [#14636](http://bugzilla.scilab.org/show_bug.cgi?id=14636): Xcos model with modelica electrical blocks (created in 5.5.2) crashed Scilab 6.
 * [#14637](http://bugzilla.scilab.org/show_bug.cgi?id=14367): Some Scilab 5.5.2 diagrams didn't simulate properly in Xcos.
+* [#14680](http://bugzilla.scilab.org/show_bug.cgi?id=14680): The `<` char in expression was not rendered in the icon of Xcos EXPRESSION block.
 * [#14886](http://bugzilla.scilab.org/show_bug.cgi?id=14886): Matplot save/load failed.
 * [#14910](http://bugzilla.scilab.org/show_bug.cgi?id=14910): The `plot()` example was displayed in overlay to the existing graphics.
 * [#14978](http://bugzilla.scilab.org/show_bug.cgi?id=15006): ode help page still contained 'root' which has been replaced by 'roots'.
index 7c2ea5b..224d133 100644 (file)
@@ -35,6 +35,10 @@ function [x,y,typ]=EXPRESSION(job,arg1,arg2)
         end
         ieee(2)
         while %t do
+            // http://bugzilla.scilab.org/14680: converting "&lt;" to "<" to make the expression editable:
+            exprs(2) = strsubst(exprs(2),"&lt;","<");
+
+            // Prompting the user to edit parameters:
             [ok,%nin,%exx,%usenz,exprs]=scicos_getvalue(..
             ["Give a scalar scilab expression using inputs u1, u2,...";
             "If only one input, input is vector [u1,u2,...] (max 8)";
@@ -42,6 +46,9 @@ function [x,y,typ]=EXPRESSION(job,arg1,arg2)
             "Note that here dd must be defined in context"],..
             ["number of inputs";"scilab expression";"use zero-crossing (0: no, 1 yes)"],..
             list("vec",1,"vec",1,"vec",1),exprs)
+            // %nin: number of input
+            // %usenz: flag 0|1 for use zero-crossing
+            // exprs(2): expression with u1, etc.
             ieee(0)
             clear %scicos_context
 
@@ -51,8 +58,10 @@ function [x,y,typ]=EXPRESSION(job,arg1,arg2)
             %exx=strsubst(exprs(2)," ","")
             if %exx==emptystr() then
                 %exx="0",
-            end  //avoid empty
-            //expression
+            end  // Avoid empty expression
+
+            // http://bugzilla.scilab.org/14680: converting "<" back to "&lt;" for proper display
+            exprs(2) = strsubst(exprs(2),"<","&lt;");
 
             if %nin==1 then
                 %nini=8,
diff --git a/scilab/modules/scicos_blocks/tests/nonreg_tests/bug_14680.tst b/scilab/modules/scicos_blocks/tests/nonreg_tests/bug_14680.tst
new file mode 100644 (file)
index 0000000..d759422
--- /dev/null
@@ -0,0 +1,27 @@
+// =============================================================================
+// 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 14629 -->
+// <-- Non-regression test for bug 14680 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/14629
+// http://bugzilla.scilab.org/14680
+//
+// <-- Short Description -->
+// "<" characters of the expression could truncate the rendering of the expressionn in the icon
+//  of EXPRESSION blocks
+
+// * In the "User-Defined Functions" palette, drag and drop an EXPRESSION block in the diagram
+// * Double-click on its icon
+// * 14629: Input (u1>scm) * (u1<scp) as the expression
+//   Press "OK": the expression must be fully rendered in the icon, without being truncated
+// * 14680: In the expression, add some "<", "<>" or "<=" sequences
+//   Press "OK": the updated rendering must show all the expression