* Bug 15512 fixed: now abort in script does not prevent mode restore 78/20678/8
St├ęphane Mottelet [Mon, 7 Jan 2019 15:57:11 +0000 (16:57 +0100)]
http://bugzilla.scilab.org/show_bug.cgi?id=15512

Change-Id: Iaf89f7fda1cb32de9a6a4c2d1c7c0d57b10269ba

scilab/CHANGES.md
scilab/modules/functions/sci_gateway/cpp/sci_exec.cpp
scilab/modules/functions/tests/nonreg_tests/bug_15512.tst [new file with mode: 0644]

index a788617..ad20254 100644 (file)
@@ -558,6 +558,7 @@ Known issues
 * [#15508](http://bugzilla.scilab.org/show_bug.cgi?id=15508): `int8..uint64` and `iconvert` help pages had errors and were not up to date.
 * [#15510](http://bugzilla.scilab.org/show_bug.cgi?id=15510): 'Initialization problem' error did not provide extra information.
 * [#15511](http://bugzilla.scilab.org/show_bug.cgi?id=15511): Keyboard ctrl-left ctrl-right shortcuts could not be used for slider under OSX.
+* [#15512](http://bugzilla.scilab.org/show_bug.cgi?id=15512): After aborting a running script or macro (with abort or other), console print was not working
 * [#15525](http://bugzilla.scilab.org/show_bug.cgi?id=15525): Memory allocation crashed with a simple Scilab script.
 * [#15526](http://bugzilla.scilab.org/show_bug.cgi?id=15526): fscanfMat could fail with large text files.
 * [#15527](http://bugzilla.scilab.org/show_bug.cgi?id=15527): `ode` gave incorrect results with %ODEOPTIONS(1)=2.
index 02b2f8b..5d5a179 100644 (file)
@@ -328,6 +328,7 @@ types::Function::ReturnValue sci_exec(types::typed_list &in, int _iRetCount, typ
     catch (const ast::InternalAbort& ia)
     {
         closeFile(file, iID, wstFile, pExp);
+        ConfigVariable::setPromptMode(oldVal);
         throw ia;
     }
     catch (const ast::InternalError& ie)
diff --git a/scilab/modules/functions/tests/nonreg_tests/bug_15512.tst b/scilab/modules/functions/tests/nonreg_tests/bug_15512.tst
new file mode 100644 (file)
index 0000000..390d8c1
--- /dev/null
@@ -0,0 +1,21 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2018 - St├ęphane Mottelet
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- NO CHECK REF -->
+//
+// <-- Non-regression test for bug 15512 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/15512
+//
+// <-- Short Description -->
+// after aborting a running script or macro (with abort or other), console print not working
+
+mputl('abort',fullfile(TMPDIR,"tmp.sce"));
+mode(2)
+exec(fullfile(TMPDIR,"tmp.sce"),-1)
+assert_checkequal(mode(),2)
\ No newline at end of file