* Bug 6607 (+NR test): clear S; S(1:2,1:2).a=1; yielded an error 69/19469/3
Samuel GOUGEON [Sun, 8 Oct 2017 18:47:57 +0000 (20:47 +0200)]
  http://bugzilla.scilab.org/6607

Change-Id: I6c6dbc9adef660666303ae8d2e3efa87935d4f53

scilab/CHANGES.md
scilab/modules/data_structures/tests/nonreg_tests/bug_6607.tst [new file with mode: 0644]

index 7e4e535..b3067bf 100644 (file)
@@ -371,6 +371,7 @@ the [development mailing list](dev@lists.scilab.org) for a particular toolbox.
 * [#5381](http://bugzilla.scilab.org/show_bug.cgi?id=5381): For UTF-8 inputs, `msprintf`, `mprintf` and `mfprintf` shortened the output.
 * [#5602](http://bugzilla.scilab.org/show_bug.cgi?id=5602): Assigning a component of a list in a cells array replaced the whole list.
 * [#5611](http://bugzilla.scilab.org/show_bug.cgi?id=5611): It was not possible to delete the row or column of a cells array.
+* [#6607](http://bugzilla.scilab.org/show_bug.cgi?id=6607): `clear S; S(1:2,1:3).a = 1` yielded an error.
 * [#6608](http://bugzilla.scilab.org/show_bug.cgi?id=6608): Field and data insertion in an array of structures might fail.
 * [#7652](http://bugzilla.scilab.org/show_bug.cgi?id=7652): Inserting `list("")` in a cells array could be erroneous.
 * [#8297](http://bugzilla.scilab.org/show_bug.cgi?id=8297): `cat` slowness was exponential, crippling, and made it useless.
diff --git a/scilab/modules/data_structures/tests/nonreg_tests/bug_6607.tst b/scilab/modules/data_structures/tests/nonreg_tests/bug_6607.tst
new file mode 100644 (file)
index 0000000..6f1be14
--- /dev/null
@@ -0,0 +1,29 @@
+// =============================================================================
+// 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.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+// <-- NO CHECK REF -->
+
+// <-- Non-regression test for bug 6607 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/6607
+//
+// <-- Short Description -->
+// Implicit creation of structure array with some syntaxes like
+//  S(1:2, 1:3).a = 1; yielded an error
+
+// All the following failed in Scilab 5.5.2. Should now work:
+assert_checkequal(execstr("clear S; S(1:2,1:3).a = %pi", "errcatch"), 0);
+assert_checkequal(execstr("clear S; S(1,1:2,1:3).a = %pi", "errcatch"), 0);
+assert_checkequal(execstr("clear S; S(2,1:2,1:3).a = %pi", "errcatch"), 0);
+assert_checkequal(execstr("clear S; S(1,1:2,1:3).a = %pi", "errcatch"), 0);
+assert_checkequal(execstr("clear S; S(2,1:2,1:3).a = %pi", "errcatch"), 0);
+assert_checkequal(execstr("clear S; S(1:2,1,1:3).a = %pi", "errcatch"), 0);
+assert_checkequal(execstr("clear S; S(1:2,2,1:3).a = %pi", "errcatch"), 0);
+assert_checkequal(execstr("clear S; S(1:2,1:2,1:3).a = %pi", "errcatch"), 0);
+assert_checkequal(execstr("clear S; S(1:2,1:3,2).a = %pi", "errcatch"), 0);