add a space to prompt 11/16911/3
Antoine ELIAS [Tue, 28 Jul 2015 10:41:15 +0000 (12:41 +0200)]
Change-Id: I267654d6c0ad1aa50dd2a22b55bdbb2ed4a916db

scilab/CHANGES_6.0.X
scilab/modules/console/includes/prompt.h
scilab/modules/console/src/cpp/scilabRead.cpp
scilab/modules/console/tests/nonreg_tests/bug_13971.dia.ref [new file with mode: 0644]
scilab/modules/console/tests/nonreg_tests/bug_13971.tst [new file with mode: 0644]
scilab/modules/core/src/cpp/InitScilab.cpp
scilab/modules/development_tools/macros/test_run.sci

index ae393ac..b1ec75f 100644 (file)
@@ -208,6 +208,8 @@ Scilab Bug Fixes
 * Bug #13941 fixed - Internal timestamps of HDF5 files prevented having a fixed
                      hash for an unvarying set of saved objects.
 
+* Bug #13971 fixed - A space has been added between Scilab prompt and cursor.
+
 * Bug #13972 fixed - Wildcard ('*') was not managed in printf expressions.
 
 
index 6f1db5d..d158efc 100644 (file)
 #ifdef SCIPROMPT
 #undef SCIPROMPT
 #endif
-#define SCIPROMPT "-->"
-
-/* Define prompt with wide char string */
-#ifdef WSCIPROMPT
-#undef WSCIPROMPT
-#endif
-#define WSCIPROMPT L"~~>"
+#define SCIPROMPT "--> "
 
 #ifdef SCIPROMPT_PAUSE
 #undef SCIPROMPT_PAUSE
 #endif
-#define SCIPROMPT_PAUSE ">>"
+#define SCIPROMPT_PAUSE ">> "
 
 #ifdef SCIPROMPT_INTERRUPT
 #undef SCIPROMPT_INTERRUPT
 #endif
-#define SCIPROMPT_INTERRUPT "-%d->"
+#define SCIPROMPT_INTERRUPT "-%d-> "
 
 #define PROMPT_SIZE_MAX 64
 
index 5ecbb4d..dff392b 100644 (file)
@@ -35,7 +35,7 @@ void setScilabInputMethod(SCILAB_INPUT_METHOD reader)
 void C2F(scilabread)(char* strRead, int len)
 {
     char* str = scilabRead();
-    int size = Min(strlen(str), len - 1);
+    int size = Min(static_cast<int>(strlen(str)), len - 1);
     strncpy(strRead, str, size);
     strRead[size] = '\0';
     FREE(str);
diff --git a/scilab/modules/console/tests/nonreg_tests/bug_13971.dia.ref b/scilab/modules/console/tests/nonreg_tests/bug_13971.dia.ref
new file mode 100644 (file)
index 0000000..e47d739
--- /dev/null
@@ -0,0 +1,16 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2015 - Scilab Enterprises - Antoine ELIAS
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 13971 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=13971
+//
+// <-- Short Description -->
+// add a space between prompt and cursor
+//test_run mechanism remove prompt for tst or dia.ref file
+//create it by string addition
+assert_checkequal(prompt(), "--" + "> ");
diff --git a/scilab/modules/console/tests/nonreg_tests/bug_13971.tst b/scilab/modules/console/tests/nonreg_tests/bug_13971.tst
new file mode 100644 (file)
index 0000000..cc9dbb0
--- /dev/null
@@ -0,0 +1,18 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2015 - Scilab Enterprises - Antoine ELIAS
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- Non-regression test for bug 13971 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=13971
+//
+// <-- Short Description -->
+// add a space between prompt and cursor
+
+//test_run mechanism remove prompt for tst or dia.ref file
+//create it by string addition
+assert_checkequal(prompt(), "--" + "> ");
\ No newline at end of file
index b2de71c..f80c9ae 100644 (file)
@@ -250,6 +250,10 @@ int StartScilabEngine(ScilabEngineInfo* _pSEI)
 #endif
     }
 
+    //set prompt value
+    int pause = 0;
+    C2F(setprlev) (&pause);
+
     //load gateways
     LoadModules();
 
@@ -265,10 +269,6 @@ int StartScilabEngine(ScilabEngineInfo* _pSEI)
     symbol::Context::getInstance()->scope_begin();
 
     ConfigVariable::setStartProcessing(false);
-    int pause = 0;
-
-    //set prompt value
-    C2F(setprlev) (&pause);
 
     ConfigVariable::setPromptMode(0);
     try
@@ -793,53 +793,56 @@ static void stateShow(Parser::ControlStatus status)
 {
     switch (status)
     {
-        case Parser::WithinFor:
-            SetTemporaryPrompt("-for       ->");
-            break;
-        case Parser::WithinWhile:
-            SetTemporaryPrompt("-while     ->");
-            break;
-        case Parser::WithinIf:
-            SetTemporaryPrompt("-if        ->");
-            break;
-        case Parser::WithinElse:
-            SetTemporaryPrompt("-else      ->");
-            break;
-        case Parser::WithinElseIf:
-            SetTemporaryPrompt("-elseif    ->");
-            break;
-        case Parser::WithinTry:
-            SetTemporaryPrompt("-try       ->");
-            break;
-        case Parser::WithinCatch:
-            SetTemporaryPrompt("-catch     ->");
-            break;
-        case Parser::WithinFunction:
-            SetTemporaryPrompt("-function  ->");
-            break;
-        case Parser::WithinSelect:
-            SetTemporaryPrompt("-select    ->");
-            break;
-        case Parser::WithinCase:
-            SetTemporaryPrompt("-case      ->");
-            break;
-        case Parser::WithinSwitch:
-            SetTemporaryPrompt("-switch    ->");
-            break;
-        case Parser::WithinOtherwise:
-            SetTemporaryPrompt("-otherwise ->");
-            break;
-        case Parser::WithinMatrix:
-            SetTemporaryPrompt("- [        ->");
-            break;
-        case Parser::WithinCell:
-            SetTemporaryPrompt("- {        ->");
-            break;
-        case Parser::WithinBlockComment:
-            SetTemporaryPrompt("- /*       ->");
-            break;
-        case Parser::WithinDots:
-            SetTemporaryPrompt("- ...      ->");
+        //case Parser::WithinFor:
+        //    SetTemporaryPrompt("-for       ->");
+        //    break;
+        //case Parser::WithinWhile:
+        //    SetTemporaryPrompt("-while     ->");
+        //    break;
+        //case Parser::WithinIf:
+        //    SetTemporaryPrompt("-if        ->");
+        //    break;
+        //case Parser::WithinElse:
+        //    SetTemporaryPrompt("-else      ->");
+        //    break;
+        //case Parser::WithinElseIf:
+        //    SetTemporaryPrompt("-elseif    ->");
+        //    break;
+        //case Parser::WithinTry:
+        //    SetTemporaryPrompt("-try       ->");
+        //    break;
+        //case Parser::WithinCatch:
+        //    SetTemporaryPrompt("-catch     ->");
+        //    break;
+        //case Parser::WithinFunction:
+        //    SetTemporaryPrompt("-function  ->");
+        //    break;
+        //case Parser::WithinSelect:
+        //    SetTemporaryPrompt("-select    ->");
+        //    break;
+        //case Parser::WithinCase:
+        //    SetTemporaryPrompt("-case      ->");
+        //    break;
+        //case Parser::WithinSwitch:
+        //    SetTemporaryPrompt("-switch    ->");
+        //    break;
+        //case Parser::WithinOtherwise:
+        //    SetTemporaryPrompt("-otherwise ->");
+        //    break;
+        //case Parser::WithinMatrix:
+        //    SetTemporaryPrompt("- [        ->");
+        //    break;
+        //case Parser::WithinCell:
+        //    SetTemporaryPrompt("- {        ->");
+        //    break;
+        //case Parser::WithinBlockComment:
+        //    SetTemporaryPrompt("- /*       ->");
+        //    break;
+        //case Parser::WithinDots:
+        //    SetTemporaryPrompt("- ...      ->");
+        //    break;
+        default :
+            SetTemporaryPrompt("  > ");
             break;
         case Parser::AllControlClosed:
             //ClearTemporaryPrompt();
index 15fb170..c07b8ae 100644 (file)
@@ -691,7 +691,7 @@ function status = test_single(_module, _testPath, _testName)
     sciFile = strsubst(sciFile, "pause; end", "bugmes();quit;end");
 
     //to avoid suppression of input --> with prompts
-    sciFile = strsubst(sciFile, "-->", "@#>");
+    sciFile = strsubst(sciFile, "--> ", "@#> ");
     //remove halt calls
     sciFile = strsubst(sciFile, "halt();", "");
 
@@ -1051,9 +1051,9 @@ function status = test_single(_module, _testPath, _testName)
         end
 
         //suppress the prompts
-        dia = strsubst(dia, "-->", "");
-        dia = strsubst(dia, "@#>", "-->");
-        dia = strsubst(dia, "-1->", "");
+        dia = strsubst(dia, "--> ", "");
+        dia = strsubst(dia, "@#> ", "--> ");
+        dia = strsubst(dia, "-1-> ", "");
 
         //standardise  number display